Tôi gặp sự cố với sự kiên trì của cấu hình MBean. cấu hình của tôi:MBean persistence
<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;
}
}
Mục tiêu của tôi là để tiết kiệm nước sau khi một sự thay đổi sở hữu (lưu thành file hoặc siêu dữ liệu - không để db). Sau khi khởi động lại JBoss, MBean của tôi được khởi tạo với các giá trị chuẩn. Có vẻ như PersistPolicy không hoạt động ... Tôi đã cố gắng triển khai PersistentMBean, nhưng store() và load() chưa bao giờ được gọi. Tôi thấy rằng nó có thể là một vấn đề thực hiện JBoss JBX. Ngoài ra một số người đã sử dụng AOP và các phương pháp được chú thích trong MBean để lưu trữ chúng. Tất cả các bài viết này là từ 2008-2010, vì vậy có thể có điều gì đó đã thay đổi?
Cấu hình JBoss của tôi là mặc định (jboss-service.xml)
Bạn đang sử dụng phiên bản JBoss nào? Nó có hỗ trợ 'persistPolicy' không? –
jboss-5.1.0.GA https://community.jboss.org/thread/175100?tstart = 0 tôi tiếp tục tìm kiếm –
Vì một số lý do bizzare tôi không thực sự biết, trang này https://docs.oracle.com/javase/7/docs/api/javax/management/PersistentMBean.html cho tôi biết rằng onUpdate sẽ thực sự không gọi cửa hàng(). Hãy thử thay đổi để luôn luôn và xem nếu giúp. (Tôi cũng bị sốc quá) –