接口 PersistentMBean

所有已知的子接口:
ModelMBean
所有已知的实现类:
RequiredModelMBean

public interface PersistentMBean
此类是要由旨在持久化的 MBean 实现的接口。支持此接口的 MBean 应在构造期间调用加载方法,以便从持久存储中初始化 MBean。在 ModelMBean 的情况下,存储方法应该由 MBeanServer 基于 ModelMBean 中的描述符调用,或者在 ModelMBean 的正常处理期间由 MBean 本身调用。
自从:
1.5
  • 方法总结

    修饰符和类型
    方法
    描述
    void
    load()
    使用在持久存储中为 MBean 找到的数据实例化此 MBean 实例。
    void
    捕获此 MBean 实例的当前状态并将其写出到持久存储。
  • 方法详情

    • load

      使用在持久存储中为 MBean 找到的数据实例化此 MBean 实例。加载的数据可以包括属性和操作值。应该在构造或初始化此实例期间以及在 MBean 注册到 MBeanServer 之前调用此方法。
      抛出:
      MBeanException - 包装另一个异常或不支持持久性
      RuntimeOperationsException - 包装来自持久性机制的异常
      InstanceNotFoundException - 无法从持久存储中找到或加载此 MBean
    • store

      捕获此 MBean 实例的当前状态并将其写出到持久存储。存储的状态可以包括属性和操作值。如果不支持其中一种持久性方法,则会抛出“serviceNotFound”异常。

      来自 MBean 和属性描述符的持久性策略用于指导此方法的执行。如果“persistPolicy”字段为:

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

      如果 'persistPolicy' 字段是: 不要存储 MBean:

        = "never"
        = "onUpdate"
        = "onTimer" && now < 'lastPersistTime' + 'persistPeriod'
       
      抛出:
      MBeanException - 包装另一个异常或不支持持久性
      RuntimeOperationsException - 包装来自持久性机制的异常
      InstanceNotFoundException - 无法找到/访问持久存储