在一个开放源码的基础上添加我自己的功能……MBean 新新新人……
按照原来代码的流程在原有的MBean接口里添加了一个函数,不知道为什么,就是不能使用……直接报错……如果是getXXX,就报Attributenotfound,如果不操作属性,也报错……反正只要是我写的就不能用……
请问这是为什么?
完全仿照原来代码的流程添加的……接口里写了,implements的类里也写了……
极度郁闷,请大侠赐教……

解决方案 »

  1.   

    ControllerPanel 中调用函数isVirtualDatabase(),代码如下:
    DatabaseBackendMBean backend = jmxClient.getDatabaseBackendProxy(
               vdbName, backendName, "admin", "");
             
              
         boolean isVdb = backend.isVirtualDatabase();isVirtualDatabase定义的过程如下:public interface DatabaseBackendMBean中声明 boolean isVirtualDatabase();在public class DatabaseBackend extends AbstractStandardMBean  implements    DatabaseBackendMBean中定义
     public boolean isVirtualDatabase()
      {
      return managedBackend.isVirtualDatabase();
      }
    最后在 managedBackend里定义
    public synchronized boolean isVirtualDatabase()
      {
      //code
      }问题在哪里呢??需要XXXX注册之类的机制么??
      

  2.   

    代码不全啊,看不明白。boolean isVdb = backend.isVirtualDatabase(); //是这一句出错了吗?
      

  3.   

    boolean isVdb = backend.isVirtualDatabase();这句调用,然后后面的那些是定义……
    函数应该是没有问题的,我想问的是,我是不是忽视了什么,导致我定义的函数不能被调用?
      

  4.   


    那俺就不清楚了,能力有限。你可以看一下“synchronized”的资料,我对这个仅是概念了解,你可以看看是不是问题出在这里。