jstatd配置
需要在被监控的服务器上面,通过jstatd来启动RMI服务。
新建个文件jstatd.all.policy 文件内容如下:
Java代码
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
或者 grant codebase "file:$JAVA_HOME/lib/tools.jar" {
permission java.security.AllPermission;
};
连个 policy都试了
启动命令如下:
Java代码
//默认端口为1099
jstatd -J-Djava.security.policy=my.policy
或者 jstatd -J-Djava.security.policy=my.policy-p 都抱错 。
我执行了上面那个命令,抛出下面的异常:
Could not create remote object
access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write)
java.security.AccessControlException: access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.System.setProperty(System.java:725)
at sun.tools.jstatd.Jstatd.main(Jstatd.java:122)
网上的介绍 jstat就是这样启动的。。 设置了 policy就不会有上面的 安全错误 ,但是我设置了 policy为什么还报错,,
应该如何解决呢
------解决方案--------------------
帮顶。。