org.atmosphere.plugin.cluster.jms
Class JMSFilter

java.lang.Object
  extended by org.atmosphere.plugin.cluster.jms.JMSFilter
All Implemented Interfaces:
MessageListener, BroadcastFilter, BroadcastFilterLifecycle<String>, ClusterBroadcastFilter<String>

public class JMSFilter
extends Object
implements MessageListener, ClusterBroadcastFilter<String>

Clustering support based on JMS

Author:
Jean-francois Arcand

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.atmosphere.cpr.BroadcastFilter
BroadcastFilter.BroadcastAction
 
Constructor Summary
JMSFilter()
           
JMSFilter(Broadcaster bc)
          Create a JMSFilter based filter.
JMSFilter(Broadcaster bc, String containerName)
          Create a JMSFilter based filter.
JMSFilter(Broadcaster bc, String containerName, String clusterName)
          Create a JMSFilter 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 onMessage(Message msg)
           
 void setBroadcaster(Broadcaster bc)
          Set the current Broadcaster to use when a cluster event happens.
 void setClusterName(String clusterName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JMSFilter

public JMSFilter()

JMSFilter

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

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

JMSFilter

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

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

JMSFilter

public JMSFilter(Broadcaster bc,
                 String containerName,
                 String clusterName)
Create a JMSFilter 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. TODO: Not sure we should close the cluster.

Specified by:
destroy in interface BroadcastFilterLifecycle<String>

onMessage

public void onMessage(Message msg)
Specified by:
onMessage in interface MessageListener

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.