org.jgroups.blocks
Class NotificationBus
java.lang.Object
org.jgroups.blocks.NotificationBus
- MembershipListener, MessageListener
public class NotificationBus
extends java.lang.Object
Class for dissemination of notifications. Producers can send notifications to all registered consumers.
Provides hooks to implement shared group state (cache).
- Bela Ban
NotificationBus
public NotificationBus()
throws Exception
NotificationBus
public NotificationBus(String bus_name)
throws Exception
NotificationBus
public NotificationBus(String bus_name,
String properties)
throws Exception
block
public void block()
Block sending and receiving of messages until viewAccepted() is called
- block in interface MembershipListener
getCache
public Serializable getCache()
getCacheFromCoordinator
public Serializable getCacheFromCoordinator(long timeout,
int max_tries)
Determines the coordinator and asks it for its cache. If there is no coordinator (because we are first member),
null will be returned. Used only internally by NotificationBus.
timeout
- Max number of msecs until the call returnsmax_tries
- Max number of attempts to fetch the cache from the coordinator
getCacheFromMember
public Serializable getCacheFromMember(Address mbr,
long timeout,
int max_tries)
Determines the coordinator and asks it for its cache. If there is no coordinator (because we are first member),
null will be returned. Used only internally by NotificationBus.
mbr
- The address of the member from which to fetch the state. If null, the current coordinator
will be asked for the statetimeout
- Max number of msecs until the call returns - if timeout elapses
null will be returnedmax_tries
- Max number of attempts to fetch the cache from the coordinator (will be set to 1 if <321)
getChannel
public Channel getChannel()
Used to operate on the underlying channel directly, e.g. perform operations that are not
provided using only NotificationBus. Should be used sparingly
getLocalAddress
public Address getLocalAddress()
getMembership
public Vector getMembership()
Returns a reference to the real membership: don't modify. If you need to modify, make a copy first !
isCoordinator
public boolean isCoordinator()
notifyConsumer
public void notifyConsumer(Serializable n)
Don't multicast this to all members, just apply it to local consumers.
sendNotification
public void sendNotification(Serializable n)
Pack the argument in a Info, serialize that one into the message buffer and send the message
start
public void start()
throws Exception
viewAccepted
public void viewAccepted(View new_view)
Called by JGroups to notify the target object of a change of membership.
No long running actions should be done in this callback in the case of Ensemble,
as this would block Ensemble. If some long running action needs to be performed,
it should be done in a separate thread (cf. ../Tests/QuoteServer.java
).
- viewAccepted in interface MembershipListener
Copyright B) 2001,2002 www.jgroups.com . All Rights Reserved.