javax.management

接口
异常
注释
所有已知子接口:
ModelMBean
所有已知实现类:
RequiredModelMBean

public interface PersistentMBean

此类是一个由希望是持久性的 MBean 实现的接口。在构造期间,支持此接口的 MBean 必须调用加载方法,以便为构造准备好持久存储中的 MBean。对于 ModelMBean 来说,必须基于 ModelMBean 中的描述符由 MBeanServer 调用 store 方法,或者在常规处理 ModelMBean 期间由 MBean 自身调用。

从以下版本开始:
1.5

方法摘要
 void load()
          使用持久存储中找到的 MBean 的数据实例化此 MBean 实例。
 void store()
          捕获此 MBean 实例的当前状态并将其写出到持久存储中。
 

方法详细信息

load

void load()
          throws MBeanException,
                 RuntimeOperationsException,
                 InstanceNotFoundException
使用持久存储中找到的 MBean 的数据实例化此 MBean 实例。加载的数据可以包括属性和操作值。 必须在构造或初始化此实例期间以及在 MBean 向 MBeanServer 注册之前调用此方法。

抛出:
MBeanException - 包装另一个异常或不受支持的持久性
RuntimeOperationsException - 包装持久性机制中的异常
InstanceNotFoundException - 无法从持久存储中找到或加载此 MBean

store

void store()
           throws MBeanException,
                  RuntimeOperationsException,
                  InstanceNotFoundException
捕获此 MBean 实例的当前状态并将其写出到持久存储中。存储的状态可以包括属性和操作值。如果这些持久方法中有一种不受支持,则将抛出 "serviceNotFound" 异常。

MBean 和属性描述符中的持久策略可用来控制此方法的异常。如果 'persistPolicy' 字段是如下形式,则必须存储 MBean:

  != "never" 
   = "always" 
   = "onTimer" and now > 'lastPersistTime' + 'persistPeriod'
   = "NoMoreOftenThan" and now > 'lastPersistTime' + 'persistPeriod'
   = "onUnregister"
 

Do not store the MBean if 'persistPolicy' field is: = "never" = "onUpdate" = "onTimer" && now < 'lastPersistTime' + 'persistPeriod'

抛出:
MBeanException - 包装另一个异常或不受支持的持久性
RuntimeOperationsException - 包装持久性机制中的异常
InstanceNotFoundException - 无法查找/访问持久存储