⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recycler.java

📁 jmx codeJava源码
💻 JAVA
字号:

package book.jmx.examples;

import javax.management.*;
import javax.management.loading.*;
import java.net.*;

public class Recycler 
  implements RecyclerMBean, MBeanRegistration {

  protected String component   = "Standard User";
  private MBeanServer server = null;
  
  
  // retrieve the server reference
  public ObjectName preRegister(MBeanServer server,
                                ObjectName name) {
                                    
    this.server = server;
    return name;
  }
  
  // recycle implementation

  public String recycle(String clazz, String url)
      throws MalformedURLException {

    ObjectName user = null;
    URL jarURL      = new URL(url);
    
    try {
      
      user = new ObjectName("example:name=User,timestamp=" + System.currentTimeMillis());

      // create new MLet class loader
      ObjectName loader = new ObjectName(
          "Loader:class=" + clazz +
          ",timestamp="   + System.currentTimeMillis()
      );
      
      MLet mlet = new MLet();
      mlet.addURL(jarURL);
      
      // unregister the old implementation
      if (server.isRegistered(user))
          server.unregisterMBean(user);
      
      // register the loaded mbean    
      server.registerMBean(mlet, loader);
      Object mbean = server.instantiate(clazz, loader);
      server.registerMBean(mbean, user);
  
      component = clazz;
    }
    catch (JMException e) {
      e.printStackTrace();
    }
    
    return "Implementation changed to " + component;
  }
  
  
  public void postRegister(Boolean b) {}
  public void preDeregister() throws Exception {}
  public void postDeregister() {}
  
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -