tomcat 部署自定义MBean 之二 解决加载冲突的问题

来源:互联网 发布:删除三星预装软件 编辑:程序博客网 时间:2024/05/19 12:28

转载请注明出处。

学习研究:

问题: 把jar包放在/Lib 目录下,重启tomcat server。 出现javax.management.instancealreadyexistsexception 异常。


解决办法:


修改Test.java 文件,把Test  Class 改为单例模式,如下:

public static Test global_test = null;

    private Test()
    {
        MBeanServer bs = this.getServer();
        
        try {
            ObjectName name = new ObjectName("App:Name=Test,Type=Test");
            bs.registerMBean(this,name);
        } catch (InstanceAlreadyExistsException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (MBeanRegistrationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (NotCompliantMBeanException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (MalformedObjectNameException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (NullPointerException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

public Test createTest()

{

        if (global_test == null)

          {global_test = new Test();}

         return global_test;

}


2. 修改监听类,call Test.createTest() method。



3.安装之前文章的步骤,即可!