And*_*ich 3 java spring jmx weblogic weblogic9.x
在我的Spring应用程序(部署在WebLogic服务器上)中,我有以下Spring bean定义:
<context:mbean-server />
<bean id="mbeanExporter" class="org.springframework.jmx.export.MBeanExporter">
<property name="beans">
<map>
<entry key="SpringBeans:name=hibernateStatisticsMBean,subsystem=${subsystem}" value-ref="hibernateStatisticsMBean" />
</map>
</property>
</bean>
<bean name="hibernateStatisticsMBean" class="org.hibernate.jmx.StatisticsService">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
Run Code Online (Sandbox Code Playgroud)
它在部署应用程序时注册新的MBean并且运行良好.但是,当我取消部署应用程序并再次部署它时,它会抱怨MBean已存在.
如何在应用程序取消部署期间自动取消注册MBean?它可以通过Spring完成,还是需要为此做一些WebLogic魔术?
添加以下属性:
<property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING"/>
Run Code Online (Sandbox Code Playgroud)
这样你的mBeanExporter看起来像:
<bean id="mbeanExporter" class="org.springframework.jmx.export.MBeanExporter">
<property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING"/>
<property name="beans">
<map>
<entry key="SpringBeans:name=hibernateStatisticsMBean,subsystem=${subsystem}" value-ref="hibernateStatisticsMBean" />
</map>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3851 次 |
最近记录: |