0N/A/*
2362N/A * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A *
0N/A * This code is free software; you can redistribute it and/or modify it
0N/A * under the terms of the GNU General Public License version 2 only, as
2362N/A * published by the Free Software Foundation. Oracle designates this
0N/A * particular file as subject to the "Classpath" exception as provided
2362N/A * by Oracle in the LICENSE file that accompanied this code.
0N/A *
0N/A * This code is distributed in the hope that it will be useful, but WITHOUT
0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A * version 2 for more details (a copy is included in the LICENSE file that
0N/A * accompanied this code).
0N/A *
0N/A * You should have received a copy of the GNU General Public License version
0N/A * 2 along with this work; if not, write to the Free Software Foundation,
0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A *
2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A * or visit www.oracle.com if you need additional information or have any
2362N/A * questions.
0N/A */
0N/A/*
0N/A * @author IBM Corp.
0N/A *
0N/A * Copyright IBM Corp. 1999-2000. All rights reserved.
0N/A */
0N/A
0N/Apackage javax.management;
0N/A
0N/Aimport javax.management.MBeanException;
0N/Aimport javax.management.RuntimeOperationsException;
0N/Aimport javax.management.InstanceNotFoundException;
0N/A
0N/A/**
0N/A * This class is the interface to be implemented by MBeans that are meant to be
0N/A * persistent. MBeans supporting this interface should call the load method during
0N/A * construction in order to prime the MBean from the persistent store.
0N/A * In the case of a ModelMBean, the store method should be called by the MBeanServer based on the descriptors in
0N/A * the ModelMBean or by the MBean itself during normal processing of the ModelMBean.
0N/A *
0N/A * @since 1.5
0N/A */
0N/Apublic interface PersistentMBean {
0N/A
0N/A
0N/A /**
0N/A * Instantiates thisMBean instance with the data found for
0N/A * the MBean in the persistent store. The data loaded could include
0N/A * attribute and operation values.
0N/A *
0N/A * This method should be called during construction or initialization of this instance,
0N/A * and before the MBean is registered with the MBeanServer.
0N/A *
0N/A * @exception MBeanException Wraps another exception or persistence is not supported
0N/A * @exception RuntimeOperationsException Wraps exceptions from the persistence mechanism
0N/A * @exception InstanceNotFoundException Could not find or load this MBean from persistent
0N/A * storage
0N/A */
0N/A public void load()
0N/A throws MBeanException, RuntimeOperationsException, InstanceNotFoundException;
0N/A
0N/A /**
0N/A * Captures the current state of this MBean instance and
0N/A * writes it out to the persistent store. The state stored could include
0N/A * attribute and operation values. If one of these methods of persistence is
0N/A * not supported a "serviceNotFound" exception will be thrown.
0N/A * <P>
0N/A * Persistence policy from the MBean and attribute descriptor is used to guide execution
0N/A * of this method. The MBean should be stored if 'persistPolicy' field is:
0N/A * <PRE> != "never"
0N/A * = "always"
0N/A * = "onTimer" and now > 'lastPersistTime' + 'persistPeriod'
0N/A * = "NoMoreOftenThan" and now > 'lastPersistTime' + 'persistPeriod'
0N/A * = "onUnregister"
0N/A * <P>
0N/A * Do not store the MBean if 'persistPolicy' field is:
0N/A * = "never"
0N/A * = "onUpdate"
0N/A * = "onTimer" && now < 'lastPersistTime' + 'persistPeriod'
0N/A * <P></PRE>
0N/A *
0N/A * @exception MBeanException Wraps another exception or persistence is not supported
0N/A * @exception RuntimeOperationsException Wraps exceptions from the persistence mechanism
0N/A * @exception InstanceNotFoundException Could not find/access the persistent store
0N/A */
0N/A public void store()
0N/A throws MBeanException, RuntimeOperationsException, InstanceNotFoundException;
0N/A
0N/A}