org.atmosphere.plugin.cluster.jgroups
Class JGroupsFilter

java.lang.Object
  extended by org.jgroups.ReceiverAdapter
      extended by org.atmosphere.plugin.cluster.jgroups.JGroupsFilter
All Implemented Interfaces:
BroadcastFilter, BroadcastFilterLifecycle<String>, ClusterBroadcastFilter<String>, org.jgroups.MembershipListener, org.jgroups.MessageListener, org.jgroups.Receiver

public class JGroupsFilter
extends org.jgroups.ReceiverAdapter
implements ClusterBroadcastFilter<String>

Clustering support based on JGroupsFilter (http://jgroups.org)

Author:
Hubert Iwaniuk

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.atmosphere.cpr.BroadcastFilter
BroadcastFilter.BroadcastAction
 
Constructor Summary
JGroupsFilter()
           
JGroupsFilter(Broadcaster bc)
          Create a JGroupsFilter based filter.
JGroupsFilter(Broadcaster bc, String containerName)
          Create a JGroupsFilter based filter.
JGroupsFilter(Broadcaster bc, String containerName, String clusterName)
          Create a JGroupsFilter based filter.
 
Method Summary
 void destroy()
          Shutown the cluster.
 BroadcastFilter.BroadcastAction filter(Object o)
          Every time a message gets broadcasted, make sure we update the cluster.
 Broadcaster getBroadcaster()
          Return the current Broadcaster
 void init()
          Preapre the cluter.
 void receive(org.jgroups.Message message)
          
 void setBroadcaster(Broadcaster bc)
          Set the current Broadcaster to use when a cluster event happens.
 void setClusterName(String clusterName)
           
 
Methods inherited from class org.jgroups.ReceiverAdapter
block, getState, setState, suspect, viewAccepted
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JGroupsFilter

public JGroupsFilter()

JGroupsFilter

public JGroupsFilter(Broadcaster bc)
Create a JGroupsFilter based filter.

Parameters:
bc - the Broadcaster to use when receiving update from the cluster.

JGroupsFilter

public JGroupsFilter(Broadcaster bc,
                     String containerName)
Create a JGroupsFilter based filter.

Parameters:
bc - the Broadcaster to use when receiving update from the cluster.
containerName - the current WebServer'name.

JGroupsFilter

public JGroupsFilter(Broadcaster bc,
                     String containerName,
                     String clusterName)
Create a JGroupsFilter based filter.

Parameters:
bc - the Broadcaster to use when receiving update from the cluster.
containerName - the current WebServer'name.
clusterName - the cluster's group name.
Method Detail

setClusterName

public void setClusterName(String clusterName)
Specified by:
setClusterName in interface ClusterBroadcastFilter<String>

init

public void init()
Preapre the cluter.

Specified by:
init in interface BroadcastFilterLifecycle<String>

destroy

public void destroy()
Shutown the cluster.

Specified by:
destroy in interface BroadcastFilterLifecycle<String>

receive

public void receive(org.jgroups.Message message)

Specified by:
receive in interface org.jgroups.MessageListener
Overrides:
receive in class org.jgroups.ReceiverAdapter

filter

public BroadcastFilter.BroadcastAction filter(Object o)
Every time a message gets broadcasted, make sure we update the cluster.

Specified by:
filter in interface BroadcastFilter
Parameters:
o - the message to broadcast.
Returns:
The same message.

getBroadcaster

public Broadcaster getBroadcaster()
Return the current Broadcaster

Specified by:
getBroadcaster in interface ClusterBroadcastFilter<String>

setBroadcaster

public void setBroadcaster(Broadcaster bc)
Set the current Broadcaster to use when a cluster event happens.

Specified by:
setBroadcaster in interface ClusterBroadcastFilter<String>
Parameters:
bc -


Copyright © 2010 SUN Microsystems. All Rights Reserved.