栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

动态更改@ManagedResource objectName

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

动态更改@ManagedResource objectName

您可以使用JMX命名策略来执行此操作。在工作中,我们使用一个接口:

public interface RuntimeJmxNames {        public String getJmxName();        public String[] getJmxPath();}

我已经发布了实现RuntimemetadataNamingStrategy命名策略的代码。

然后像下面的Spring bean:

<bean id="jmxAttributeSource"  /><bean id="jmxAssembler"    >    <property name="attributeSource" ref="jmxAttributeSource" /></bean><bean id="jmxNamingStrategy" >    <property name="attributeSource" ref="jmxAttributeSource" /></bean><bean id="mbeanExporter" >    <property name="autodetect" value="true" />    <property name="assembler" ref="jmxAssembler" />    <property name="namingStrategy" ref="jmxNamingStrategy" />    <property name="ensureUniqueRuntimeObjectNames" value="false" />    <property name="excludedBeans" ref="excludedJmxBeans" /></bean>

在代码中,您可以执行以下操作:

@ManagedResource(objectName = "foo.com:name=replaced", description = "...")public class Foo implements RuntimeJmxNames {    ...    public String getJmxName() {        // here's where you can make the name be dynamic        return toString();    }    @Override    public String[] getJmxPath() {        return new String[] { "folder" };    }}

这是有关JMX命名的Spring文档,尽管我不是100%确信它涵盖了自定义命名内容。

另外,我的SimpleJMX包也可以做到这一点。它使用JmxSelfNaming接口,该接口允许对象的每个实例定义其自己的bean名称以使其具有唯一性,并与Spring兼容。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/438671.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号