2013-04-24 71 views
0

我想在JMX上注册一个bean。我在mbs.registerMBean(metadataObj, name);行发生错误。错误地说通过JMX发布Bean时出错

Multiple markers at this line 
    - Syntax error on token "(", delete 
    this token 
    - Syntax error on token ")", delete 
    this token 

我不知道它是关于什么的。

此bean具有有关请求开始/结束时间的基本元数据。

package test.performance; 

public class RequestPerformanceMetadata implements PerformanceMetadataMBean{ 

    private double startTime; 
    private double endTime; 
    private double timeTook; 
    private String requestType; 
    private int numOfRequests; 

    PerformanceMetadataMBean metadataObj = new RequestPerformanceMetadata(); 

    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); 
    ObjectName name = new ObjectName("test.performace:type=PerformanceMetadataMBean");  

    mbs.registerMBean(metadataObj, name); 

    public double getTimeTook() { 
     return timeTook; 
    } 
    public void setTimeTook(double timeTook) { 
     this.timeTook = timeTook; 
    } 

接口

package test.performance; 

public interface PerformanceMetadataMBean { 

    double getTimeTook(); 
    void setTimeTook(double timeTook); 
    String getRequestType(); 
    void setRequestType(String requestType); 

回答

1

有很多的问题在这里。

开始msb = ....,没有办法....它需要在一个方法中。 接下来,新的ObjectName(...)会引发异常,因此您需要将其封装在try/catch块中。 另外,你确定你想创建的RequestPerformanceMetadataRequestPerformanceMetadata的另一实例?也许你想简单地注册这个实例。

看看下面的代码段:

class RequestPerformanceMetadata implements PerformanceMetadataMBean { 
    private double startTime; 
    private double endTime; 
    private double timeTook; 
    private String requestType; 
    private int numOfRequests; 
    private MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); 
    private ObjectName name; 

    public RequestPerformanceMetadata() { 
     try { 
      name = new ObjectName("test.performace:type=PerformanceMetadataMBean"); 
      mbs.registerMBean(this, name);  
     } catch (Exception ex) { 
      throw new RuntimeException("Yo dog. Bad object name", ex); 
     }  
    }  
    //........... snip ........... 
} 
相关问题