Mam problem z trwałością mojego komponentu MBean konfiguracji. Moja konfiguracja:Trwałość MBean
<bean id="adminMBean" class="pl.mobileexperts.catchme.mbeans.AdminSettingsMBean"></bean>
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
<property name="assembler" ref="assembler" />
<property name="autodetect" value="true" />
<property name="namingStrategy" ref="namingStrategy"/>
</bean>
<bean id="attributeSource" class="org.springframework.jmx.export.annotation.AnnotationJmxAttributeSource" />
<bean id="namingStrategy" class="org.springframework.jmx.export.naming.MetadataNamingStrategy">
<property name="attributeSource" ref="attributeSource" />
</bean>
<bean id="assembler" class="org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler">
<property name="attributeSource" ref="attributeSource" />
</bean>
@ManagedResource(objectName = "pl.mobileexperts.catchme:name=adminMBean",
description ="admin settings",
persistPolicy = "OnUpdate",
persistLocation = "c:/", persistName = "adminSettings.jmx")
public class AdminSettingsMBean {
private boolean moderatorModeEnabled;
public AdminSettingsMBean() {
}
@ManagedAttribute(persistPolicy = "OnUpdate")
public boolean isModeratorModeEnabled() {
return moderatorModeEnabled;
}
@ManagedAttribute(persistPolicy = "OnUpdate")
public void setModeratorModeEnabled(boolean moderatorModeEnabled) {
this.moderatorModeEnabled = moderatorModeEnabled;
}
}
Moim celem jest, aby zapisać stan po zmianie własności (lub zapisać do pliku metadanych - nie dB). Po restarcie JBoss mój MBean jest inicjowany standardowymi wartościami. Wydaje się, że PersistPolicy nie działa ... Próbowałem zaimplementować PersistentMBean, ale store() i load() nigdy nie były wywoływane. Odkryłem, że może to być problem z implementacją JBX JBX. Również niektórzy ludzie używali AOP i metody z adnotacjami w MBean do ich przechowywania. Wszystkie te posty pochodziły z lat 2008-2010, więc może coś się zmieniło?
My JBoss config jest domyślna (JBoss-service.xml)
Którą wersję JBoss używasz? Czy obsługuje 'persistPolicy'? –
jboss-5.1.0.GA https://community.jboss.org/thread/175100?tstart = 0 szukam dalej –
Z jakiegoś dziwacznego powodu tak naprawdę nie wiem, ta strona https://docs.oracle.com/javase/7/docs/api/javax/management/PersistentMBean.html mówi mi, że onUpdate będzie w rzeczy samej nie jest to call store(). Spróbuj zmienić na zawsze i sprawdź, czy pomaga. (Jestem też całkowicie zszokowany) –