rmiserverinvoker.java

来自「jmx codeJava源码」· Java 代码 · 共 43 行

JAVA
43
字号

package book.jmx.examples;

import java.rmi.*;
import javax.management.*;


public class RMIServerInvoker implements MBeanServerInvoker {

  private transient MBeanServer server = null;
  
  public RMIServerInvoker(MBeanServer server) {
    this.server = server;
  }
      
  /* MBeanServerInvoker implementation. */
  
  public Object invoke(MethodInvocation mi) throws Exception{
    
    mi.setMBeanServer(server);
    mi.invoke();

    
    /* Handle exceptions and errors. */    
    if (mi.getStatus() == MethodInvocation.ERROR) {
      Object val = mi.getReturnValue();
      
      if (val instanceof Exception)
        throw (Exception)val;
      else
        throw new RemoteException(
            "Runtime exception or error at the server.",
            (Throwable)val
        );
    }
    
    /* Return the result of the invocation. */
    return mi.getReturnValue();
  }
  
}

⌨️ 快捷键说明

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