HAServiceMBean.java |
/*************************************** * * * JBoss: The OpenSource J2EE WebOS * * * * Distributable under LGPL license. * * See terms of license at gnu.org. * * * ***************************************/ package org.jboss.ha.jmx; import java.io.Serializable; import javax.management.Notification; import javax.management.NotificationBroadcaster; /** * <p> * HA-Service interface. * Defines common functionality for partition symmetric (farming) services. * </p> * * @author <a href="mailto:ivelin@apache.org">Ivelin Ivanov</a> * @version $Revision: 1.2 $ * */ public interface HAServiceMBean extends org.jboss.system.ServiceMBean, NotificationBroadcaster { /** * Name of the underlying partition that determine the cluster to use. */ public String getPartitionName(); /** * Set the name of the underlying partition that determine the cluster to use. * Can be set only when the MBean is not in a STARTED or STARTING state. */ public void setPartitionName(String partitionName); /** * * Convenience method for broadcasting a call to all members * of a partition. * * @param methodName * @param args * @throws Exception */ public void callMethodOnPartition(String methodName, Object[] args) throws Exception; /** * * Convenience method for sharing state across a cluster partition. * Delegates to the DistributedStateService * * @param key key for the distributed object * @return Serializable the distributed object * */ public Serializable getDistributedState(String key); /** * * * Convenience method for sharing state across a cluster partition. * Delegates to the DistributedStateService * * @param key key for the distributed object * @param value the distributed object * */ public void setDistributedState(String key, Serializable value) throws Exception; /** * * Broadcast the notification to the remote listener nodes (if any) and then * invoke super.sendNotification() to notify local listeners. * * @param notification sent out to local listeners and other nodes. It should be serializable. * It is recommended that the source of the notification is an ObjectName of an MBean that * is is available on all nodes where the broadcaster MBean is registered. * * * @see javax.management.NotificationBroadcasterSupport#sendNotification(Notification) * */ public void sendNotification(Notification notification); }
HAServiceMBean.java |