我正在尝试创建一个Mbeans,它可以在运行时更改一些参数,但在尝试调用操作时会发生以下错误:
java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: java.lang.ClassNotFoundException: weblogic.management.NoAccessRuntimeException > (no security manager: RMI class loader disabled)
我正在使用weblogic和jconsole。
代码:
public class MyMBeanListener extends ApplicationLifecycleListener {
public void postStart(weblogic.application.ApplicationLifecycleEvent p1) {
try {
ObjectName mymbean =
new ObjectName("monitor:Name=MyMonitor,Type=MyMonitorMBean");
InitialContext ctx = new InitialContext();
MBeanServer server = (MBeanServer)ctx.lookup("java:comp/jmx/runtime");
MyMonitor monitor = new MyMonitor();
server.registerMBean(monitor, mymbean);
System.out.println(" MBean registered successfully!");
} catch (Exception e) {
e.printStackTrace();
}
}
public interface MyMonitorMBean {
public void setMessage(String msg);
}
public class MyMonitor implements MyMonitorMBean {
private String _con;
@Override
public synchronized void setMessage(String msg) {
_con = msg;
}
}
答案 0 :(得分:0)
如果你把Weblogic的JAR放在你的类路径中它应该可以工作,或者至少你会摆脱ClassNotFoundException
我会把weblogic.jar或wlfullclient.jar(如果你有的话),尝试以类似于这样的方式运行JConsole:
jconsole -J-Djava.class.path="Weblogic Lib Folder\weblogic.jar"