Java SpringJMX可以在两个不同的bean名称下导出相同的bean实例吗?
在Spring3.1中,我试图通过JMX导出具有两个不同接口的两个不同bean名称下的相同bean 下面是一些spring xml配置示例,显示了我正在尝试的操作:Java SpringJMX可以在两个不同的bean名称下导出相同的bean实例吗?,java,spring,jmx,Java,Spring,Jmx,在Spring3.1中,我试图通过JMX导出具有两个不同接口的两个不同bean名称下的相同bean 下面是一些spring xml配置示例,显示了我正在尝试的操作: <bean id="exporter" class="org.springframework.jmx.export.MBeanExporter"> <property name="beans"> <map> <entry key="internal:name=internalNa
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
<property name="beans">
<map>
<entry key="internal:name=internalName" value-ref="myBean"/>
<entry key="external:name=externalName" value-ref="myBean"/>
</map>
</property>
<property name="assembler">
<bean class="org.springframework.jmx.export.assembler.InterfaceBasedMBeanInfoAssembler">
<property name="interfaceMappings">
<props>
<prop key="internal:name=internalName">InternalMXBean</prop>
<prop key="external:name=externalName">ExternalMXBean</prop>
</props>
</property>
</bean>
</property>
有没有办法在两个不同的mbean名称下注册相同的bean实例,从而公开不同的接口?表示可以在不同的名称下注册相同的mbean,但提供了一些关于为什么这可能是个坏主意的推理
在我的具体案例中,我使用的是MXBeans。同一个MXBean不能在不同的对象名下注册,因为这会与对MXBean间引用的支持相冲突。表示可以在不同的名称下注册同一个MBean,但提供了一些关于为什么这可能是一个坏主意的理由
在我的具体案例中,我使用的是MXBeans。同一个MXBean不能在不同的对象名下注册,因为这会与对MXBean间引用的支持冲突。您真的要这样做吗?这不会引起混乱吗?如果你的类实现了两个接口,也许你应该把它分成两个类。您可以创建另一个类来集成这两个实例,因此不需要更改其他代码。我之所以要这样做,是为了让同一个bean为客户/外部使用公开一个MXBean,为内部/支持使用公开一个MXBean。InternalMXBean接口扩展了ExternalMXBean接口。我不能拆分bean类,也不想编写额外的代码来处理不同的接口。你真的想这样做吗?这不会引起混乱吗?如果你的类实现了两个接口,也许你应该把它分成两个类。您可以创建另一个类来集成这两个实例,因此不需要更改其他代码。我之所以要这样做,是为了让同一个bean为客户/外部使用公开一个MXBean,为内部/支持使用公开一个MXBean。InternalMXBean接口扩展了ExternalMXBean接口。我不能拆分bean类,也不想编写额外的代码来处理不同的接口。链接不再起作用了。我想,那篇文章现在可以找到了。这个链接已经不起作用了。我想,现在可以找到那篇文章了。
javax.management.InstanceAlreadyExistsException: MXBean already registered with name internal:name=internalName