org.apache.catalina.cluster.tcp
Class ClusterReceiverBase

java.lang.Object
  extended byorg.apache.catalina.cluster.tcp.ClusterReceiverBase
All Implemented Interfaces:
ClusterReceiver, ListenCallback, java.lang.Runnable
Direct Known Subclasses:
ReplicationListener, SocketReplicationListener

public abstract class ClusterReceiverBase
extends java.lang.Object
implements java.lang.Runnable, ClusterReceiver, ListenCallback

FIXME i18n log messages

Version:
$Revision: 418134 $ $Date: 2006-06-29 15:54:33 -0500 (Thu, 29 Jun 2006) $
Author:
Peter Rossbach

Field Summary
protected  boolean doListen
           
protected  boolean doReceivedProcessingStats
          doProcessingStats
protected static org.apache.commons.logging.Log log
           
protected  long maxReceivedProcessingTime
          max proessingTime
protected  long minReceivedProcessingTime
          min proessingTime
protected  long receivedProcessingTime
          proessingTime
protected  StringManager sm
          The string manager for this package.
protected  long totalReceivedBytes
          total bytes to recevied
 
Constructor Summary
ClusterReceiverBase()
           
 
Method Summary
protected  void addReceivedProcessingStats(long startTime)
          Add receiver processing stats times
protected  ClusterMessage deserialize(ClusterData data)
          deserialize the receieve cluster message
 double getAvgReceivedProcessingTime()
           
 long getAvgTotalReceivedBytes()
           
 java.net.InetAddress getBind()
           
 CatalinaCluster getCatalinaCluster()
          get Callback.
 java.lang.String getHost()
          get the listing ip interface
 long getLastChecked()
           
 long getMaxReceivedProcessingTime()
           
 long getMinReceivedProcessingTime()
           
 long getNrOfMsgsReceived()
           
 javax.management.ObjectName getObjectName()
          Receiver ObjectName
 int getPort()
          get the listing ip port
 long getReceivedProcessingTime()
           
 long getReceivedTime()
           
 java.lang.String getTcpListenAddress()
           
 int getTcpListenPort()
           
 long getTotalReceivedBytes()
           
 boolean isCompress()
           
 boolean isDoListen()
           
 boolean isDoReceivedProcessingStats()
           
 boolean isSendAck()
          Send ACK to sender
protected abstract  void listen()
          Start Listener
 void messageDataReceived(ClusterData data)
          receiver Message from other node.
protected  void registerReceiverMBean()
          Register Recevier MBean :type=ClusterReceiver,host=
 void resetStatistics()
          Reset sender statistics
 void run()
          Start thread and listen
 void sendAck()
          send ack
 void setBind(java.net.InetAddress bind)
           
 void setCatalinaCluster(CatalinaCluster cluster)
          set callback.
 void setCompress(boolean compressMessageData)
           
 void setDoReceivedProcessingStats(boolean doReceiverProcessingStats)
           
 void setObjectName(javax.management.ObjectName name)
          set Receiver ObjectName
 void setSendAck(boolean sendAck)
          set ack mode or not!
 void setTcpListenAddress(java.lang.String tcpListenAddress)
           
 void setTcpListenPort(int tcpListenPort)
           
 void start()
          start cluster receiver
 void stop()
          Stop accept
protected abstract  void stopListening()
          stop Listener sockets
protected  void unregisterRecevierMBean()
          UnRegister Recevier MBean :type=ClusterReceiver,host=
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static org.apache.commons.logging.Log log

sm

protected StringManager sm
The string manager for this package.


doListen

protected boolean doListen

totalReceivedBytes

protected long totalReceivedBytes
total bytes to recevied


doReceivedProcessingStats

protected boolean doReceivedProcessingStats
doProcessingStats


receivedProcessingTime

protected long receivedProcessingTime
proessingTime


minReceivedProcessingTime

protected long minReceivedProcessingTime
min proessingTime


maxReceivedProcessingTime

protected long maxReceivedProcessingTime
max proessingTime

Constructor Detail

ClusterReceiverBase

public ClusterReceiverBase()
Method Detail

isDoListen

public boolean isDoListen()
Returns:
Returns the doListen.

getBind

public java.net.InetAddress getBind()
Returns:
Returns the bind.

setBind

public void setBind(java.net.InetAddress bind)
Parameters:
bind - The bind to set.

setCatalinaCluster

public void setCatalinaCluster(CatalinaCluster cluster)
Description copied from interface: ClusterReceiver
set callback.

Specified by:
setCatalinaCluster in interface ClusterReceiver
Parameters:
cluster - The cluster

getCatalinaCluster

public CatalinaCluster getCatalinaCluster()
Description copied from interface: ClusterReceiver
get Callback.

Specified by:
getCatalinaCluster in interface ClusterReceiver
Returns:
The cluster

setObjectName

public void setObjectName(javax.management.ObjectName name)
set Receiver ObjectName

Parameters:
name -

getObjectName

public javax.management.ObjectName getObjectName()
Receiver ObjectName


isCompress

public boolean isCompress()
Specified by:
isCompress in interface ClusterReceiver
Returns:
Returns the compress.

setCompress

public void setCompress(boolean compressMessageData)
Specified by:
setCompress in interface ClusterReceiver
Parameters:
compressMessageData - The compress to set.

isSendAck

public boolean isSendAck()
Send ACK to sender

Specified by:
isSendAck in interface ClusterReceiver
Returns:
True if sending ACK

setSendAck

public void setSendAck(boolean sendAck)
set ack mode or not!

Specified by:
setSendAck in interface ClusterReceiver
Parameters:
sendAck -

getTcpListenAddress

public java.lang.String getTcpListenAddress()

setTcpListenAddress

public void setTcpListenAddress(java.lang.String tcpListenAddress)

getTcpListenPort

public int getTcpListenPort()

setTcpListenPort

public void setTcpListenPort(int tcpListenPort)

getHost

public java.lang.String getHost()
Description copied from interface: ClusterReceiver
get the listing ip interface

Specified by:
getHost in interface ClusterReceiver
Returns:
The host

getPort

public int getPort()
Description copied from interface: ClusterReceiver
get the listing ip port

Specified by:
getPort in interface ClusterReceiver
Returns:
The port

isDoReceivedProcessingStats

public boolean isDoReceivedProcessingStats()
Returns:
Returns the doReceivedProcessingStats.

setDoReceivedProcessingStats

public void setDoReceivedProcessingStats(boolean doReceiverProcessingStats)
Parameters:
doReceiverProcessingStats - The doReceivedProcessingStats to set.

getMaxReceivedProcessingTime

public long getMaxReceivedProcessingTime()
Returns:
Returns the maxReceivedProcessingTime.

getMinReceivedProcessingTime

public long getMinReceivedProcessingTime()
Returns:
Returns the minReceivedProcessingTime.

getReceivedProcessingTime

public long getReceivedProcessingTime()
Returns:
Returns the receivedProcessingTime.

getTotalReceivedBytes

public long getTotalReceivedBytes()
Returns:
Returns the totalReceivedBytes.

getAvgReceivedProcessingTime

public double getAvgReceivedProcessingTime()
Returns:
Returns the avg receivedProcessingTime/nrOfMsgsReceived.

getAvgTotalReceivedBytes

public long getAvgTotalReceivedBytes()
Returns:
Returns the avg totalReceivedBytes/nrOfMsgsReceived.

getReceivedTime

public long getReceivedTime()
Returns:
Returns the receivedTime.

getLastChecked

public long getLastChecked()
Returns:
Returns the lastChecked.

getNrOfMsgsReceived

public long getNrOfMsgsReceived()
Returns:
Returns the nrOfMsgsReceived.

start

public void start()
start cluster receiver

Specified by:
start in interface ClusterReceiver
See Also:
ClusterReceiver.start()

stop

public void stop()
Stop accept

Specified by:
stop in interface ClusterReceiver
See Also:
ClusterReceiver.stop(), stopListening()

registerReceiverMBean

protected void registerReceiverMBean()
Register Recevier MBean :type=ClusterReceiver,host=


unregisterRecevierMBean

protected void unregisterRecevierMBean()
UnRegister Recevier MBean :type=ClusterReceiver,host=


stopListening

protected abstract void stopListening()
stop Listener sockets


listen

protected abstract void listen()
                        throws java.lang.Exception
Start Listener

Throws:
java.lang.Exception

run

public void run()
Start thread and listen

Specified by:
run in interface java.lang.Runnable

messageDataReceived

public void messageDataReceived(ClusterData data)
receiver Message from other node. All SessionMessage forward to ClusterManager and other message dispatch to all accept MessageListener.

Specified by:
messageDataReceived in interface ListenCallback
Parameters:
data - - the message bytes received from the cluster/replication system
See Also:
ClusterSessionListener.messageReceived(ClusterMessage)

deserialize

protected ClusterMessage deserialize(ClusterData data)
                              throws java.io.IOException,
                                     java.lang.ClassNotFoundException
deserialize the receieve cluster message

Parameters:
data - uncompress data
Returns:
The message
Throws:
java.io.IOException
java.lang.ClassNotFoundException

resetStatistics

public void resetStatistics()
Reset sender statistics


addReceivedProcessingStats

protected void addReceivedProcessingStats(long startTime)
Add receiver processing stats times

Parameters:
startTime -

sendAck

public void sendAck()
             throws java.io.IOException
Description copied from interface: ListenCallback
send ack

Specified by:
sendAck in interface ListenCallback
Throws:
java.io.IOException


Copyright © 2000-2005 Apache Software Foundation. All Rights Reserved.