在spring中从xml本身替换@managed操作

在spring中从xml本身替换@managed操作,spring,jmx,spring-jmx,Spring,Jmx,Spring Jmx,我使用的是Spring2.5版的JMX,我在其中使用的是JMX 如下图所示 @ManagedOperation(description = "Mark the Entry corresponding ABC flow") @ManagedOperationParameters(value = { @ManagedOperationParameter(name = "def", description = "Ids of the entries that needs to be S

我使用的是Spring2.5版的JMX,我在其中使用的是JMX 如下图所示

@ManagedOperation(description = "Mark the Entry corresponding ABC flow")
@ManagedOperationParameters(value = {
        @ManagedOperationParameter(name = "def", description = "Ids of the entries that needs to be STOP"),
        @ManagedOperationParameter(name = "Comments", description = "Note on why these entries are being marked as stop") })
public void abcstop(String def, String gtr){
    StringBuffer gfhtrPresent= jmxService.abcd(Ids, comments);
    if(idsNotPresent.length()>0) 
        throw new IOARuntimeException("<font color=red><b>No data found for the following id/id's </b></font>"+idsNotPresent);
}
@ManagedOperation(description=“标记对应ABC流程的条目”)
@ManagedOperationParameters(值={
@ManagedOperationParameter(name=“def”,description=“需要停止的条目的ID”),
@ManagedOperationParameter(name=“Comments”,description=“关于为什么将这些条目标记为stop的说明”)})
公共无效abcstop(字符串定义、字符串gtr){
StringBuffer gfhtrPresent=jmxService.abcd(ID、注释);
如果(idsNotPresent.length()>0)
抛出新的IOARuntimeException(“未找到以下id/id的数据”+idsNotPresent);
}
现在我想删除@Managedoperation Annotation并想在XML中配置它,请建议如何配置@Managedoperation,因为我希望从XML本身运行相同的功能,请建议。
各位朋友,请告诉我,我遇到了麻烦,如果您能提供任何帮助,我将不胜感激。

您可以使用XML导出MBean-请参阅。但是,恕我直言,标准组件无法添加这样的描述

您必须实现自己的
MBeanInfoAssembler
(或将其中一个标准的子类化)

编辑:

例如,
AbstractReflectionMBeanInfoAssembler
通过调用
getOperationDescription()
获取中的操作描述。默认情况下,这只返回方法名。
MetadataMBeanInfoAssembler
(用于注释)重写此方法以从注释获取描述

因此,您可以将
MethodNameBasedMBeanInfoAssembler
子类化,并实现
getOperationDescription()
方法,以从任何您想要的地方(可能是XML中的另一个属性)获取描述


类似地,操作参数描述在
getOperationParameters()
中设置,因此您可以覆盖它来构建它们。查看注释,看看他是如何做的。

@Garry Russell非常感谢你能分享一个MBeanInfoAssembler的示例,以便我能掌握更多信息吗?非常感谢,但我的观点是,你能更新一个简短的示例吗?你能给我一个我能遵循并掌握的小示例吗,这将非常有帮助。不;我没有时间为你做你的工作;我想我给了你足够的建议。如果你不能理解这些概念,我必须问你为什么需要删除注释。这里是我从你的理解中理解的。。