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<String>, 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

Constructor Summary
JGroupsFilter()
           
JGroupsFilter(Broadcaster<HttpServletRequest,HttpServletResponse,String> bc)
          Create a JGroupsFilter based filter.
JGroupsFilter(Broadcaster<HttpServletRequest,HttpServletResponse,String> bc, String containerName)
          Create a JGroupsFilter based filter.
JGroupsFilter(Broadcaster<HttpServletRequest,HttpServletResponse,String> bc, String containerName, String clusterName)
          Create a JGroupsFilter based filter.
 
Method Summary
 void destroy()
          Shutown the cluster.
 String filter(String message)
          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<HttpServletRequest,HttpServletResponse,String> bc)
Create a JGroupsFilter based filter.

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

JGroupsFilter

public JGroupsFilter(Broadcaster<HttpServletRequest,HttpServletResponse,String> 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<HttpServletRequest,HttpServletResponse,String> 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 String filter(String message)
Every time a message gets broadcasted, make sure we update the cluster.

Specified by:
filter in interface BroadcastFilter<String>
Parameters:
message - 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 © 2009 SUN Microsystems. All Rights Reserved.