2013-04-24 32 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 ........... 
} 
相關問題