Save This Page
Home » apache-tomcat-6.0.16-src » org.apache » catalina » cluster » tcp » [javadoc | source]
org.apache.catalina.cluster.tcp
public class: ReplicationTransmitter [javadoc | source]
java.lang.Object
   org.apache.catalina.cluster.tcp.ReplicationTransmitter

All Implemented Interfaces:
    IDynamicProperty, ClusterSender

Transmit message to ohter cluster members create sender from replicationMode type FIXME i18n log messages FIXME compress data depends on message type and size FIXME send very big messages at some block see FarmWarDeployer! TODO pause and resume senders
Field Summary
protected  StringManager sm    The string manager for this package. 
protected  int processSenderFrequency    Frequency of the check sender keepAlive Socket Status. 
protected  boolean doTransmitterProcessingStats    doTransmitterProcessingStats 
protected  long processingTime    proessingTime 
protected  long minProcessingTime    min proessingTime 
protected  long maxProcessingTime    max proessingTime 
Constructor:
 public ReplicationTransmitter() 
Method from org.apache.catalina.cluster.tcp.ReplicationTransmitter Summary:
add,   addProcessingStats,   addStats,   backgroundProcess,   checkKeepAlive,   getAckTimeout,   getAvgProcessingTime,   getFailureCounter,   getInfo,   getIsSenderSynchronized,   getKey,   getMaxProcessingTime,   getMinProcessingTime,   getNrOfRequests,   getObjectName,   getProcessSenderFrequency,   getProcessingTime,   getProperty,   getPropertyNames,   getReplicationMode,   getSenderObjectName,   getSenderObjectNames,   getSenders,   getTotalBytes,   isAutoConnect,   isCompress,   isDoTransmitterProcessingStats,   isWaitForAck,   registerSenderMBean,   remove,   removeProperty,   resetStatistics,   sendMessage,   sendMessage,   sendMessageClusterDomain,   sendMessageData,   serialize,   setAckTimeout,   setAutoConnect,   setCatalinaCluster,   setCompress,   setDoTransmitterProcessingStats,   setObjectName,   setProcessSenderFrequency,   setProperty,   setReplicationMode,   setWaitForAck,   start,   stop,   transferSenderProperty,   unregisterSenderMBean
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.catalina.cluster.tcp.ReplicationTransmitter Detail:
 public synchronized  void add(Member member) 
    add new cluster member and create sender ( s. replicationMode) transfer current properties to sender
 protected  void addProcessingStats(long startTime) 
    Add processing stats times
 protected synchronized  void addStats(int length) 
    calc number of requests and transfered bytes. Log stats all 100 requets
 public  void backgroundProcess() 
    Call transmitter to check for sender socket status
 public  void checkKeepAlive() 
    Check all DataSender Socket to close socket at keepAlive mode
 public long getAckTimeout() 
 public double getAvgProcessingTime() 
 public long getFailureCounter() 
 public String getInfo() 
    Return descriptive information about this implementation and the corresponding version number, in the format <description>/<version>.
 public boolean getIsSenderSynchronized() 
Deprecated! since - version 5.5.7

 protected String getKey(Member member) 
    set unique key to find sender
 public long getMaxProcessingTime() 
 public long getMinProcessingTime() 
 public long getNrOfRequests() 
 public ObjectName getObjectName() 
 public int getProcessSenderFrequency() 
 public long getProcessingTime() 
 public Object getProperty(String key) 
    get current config
 public Iterator getPropertyNames() 
    Get all properties keys
 public String getReplicationMode() 
    current replication mode
 protected ObjectName getSenderObjectName(IDataSender sender) 
    build sender ObjectName ( engine.domain:type=IDataSender,host="host",senderAddress="receiver.address",senderPort="port" )
 public ObjectName[] getSenderObjectNames() 
    get all current senders
 public IDataSender[] getSenders() 
    get all current senders
 public long getTotalBytes() 
 public boolean isAutoConnect() 
 public boolean isCompress() 
 public boolean isDoTransmitterProcessingStats() 
 public boolean isWaitForAck() 
 protected  void registerSenderMBean(Member member,
    IDataSender sender) 
    register MBean and check it exist (big problem!)
 public synchronized  void remove(Member member) 
    remove sender from transmitter. ( deregister mbean and disconnect sender )
 public  void removeProperty(String key) 
    remove a configured property.
 public synchronized  void resetStatistics() 
    Reset sender statistics
 public  void sendMessage(ClusterMessage message) throws IOException 
    send message to all senders (broadcast)
 public  void sendMessage(ClusterMessage message,
    Member member) throws IOException 
    Send data to one member FIXME set filtering messages
 public  void sendMessageClusterDomain(ClusterMessage message) throws IOException 
    Send to all senders at same cluster domain as message from address
 protected  void sendMessageData(ClusterData data,
    IDataSender sender) throws IOException 
    Send message to concrete sender. If autoConnect is true, check is connection broken and the reconnect the complete sender.
    • failure the suspect flag is set true. After successfully sending the suspect flag is set to false.
    • Stats is only update after sussesfull sending
 protected ClusterData serialize(ClusterMessage msg) throws IOException 
    serialize message and add timestamp
 public  void setAckTimeout(long ackTimeout) 
 public  void setAutoConnect(boolean autoConnect) 
 public  void setCatalinaCluster(SimpleTcpCluster cluster) 
 public  void setCompress(boolean compressMessageData) 
 public  void setDoTransmitterProcessingStats(boolean doProcessingStats) 
 public  void setObjectName(ObjectName name) 
    Transmitter ObjectName
 public  void setProcessSenderFrequency(int processSenderFrequency) 
 public  void setProperty(String name,
    Object value) 
    set config attributes with reflect
 public  void setReplicationMode(String mode) 
    set replication Mode (pooled, synchonous, asynchonous, fastasyncqueue)
 public  void setWaitForAck(boolean waitForAck) 
 public  void start() throws IOException 
    start the sender and register transmitter mbean
 public synchronized  void stop() 
 protected  void transferSenderProperty(IDataSender sender) 
    Transfer all properties from transmitter to concrete sender
 protected  void unregisterSenderMBean(IDataSender sender) 
    unregsister sendern Mbean