MBeans operaciones错误Weblogic

时间:2013-10-13 16:41:29

标签: java weblogic jmx mbeans

我正在尝试创建一个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;
    }
  }

1 个答案:

答案 0 :(得分:0)

如果你把Weblogic的JAR放在你的类路径中它应该可以工作,或者至少你会摆脱ClassNotFoundException

我会把weblogic.jar或wlfullclient.jar(如果你有的话),尝试以类似于这样的方式运行JConsole:

jconsole -J-Djava.class.path="Weblogic Lib Folder\weblogic.jar"