|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.catalina.cluster.tcp.ReplicationTransmitter
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 boolean |
doTransmitterProcessingStats
doTransmitterProcessingStats |
protected long |
maxProcessingTime
max proessingTime |
protected long |
minProcessingTime
min proessingTime |
protected long |
processingTime
proessingTime |
protected int |
processSenderFrequency
Frequency of the check sender keepAlive Socket Status. |
protected StringManager |
sm
The string manager for this package. |
Constructor Summary | |
ReplicationTransmitter()
|
Method Summary | |
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 void |
addStats(int length)
calc number of requests and transfered bytes. |
void |
backgroundProcess()
Call transmitter to check for sender socket status |
void |
checkKeepAlive()
Check all DataSender Socket to close socket at keepAlive mode |
long |
getAckTimeout()
|
double |
getAvgProcessingTime()
|
long |
getFailureCounter()
|
java.lang.String |
getInfo()
Return descriptive information about this implementation and the corresponding version number, in the format <description>/<version> . |
boolean |
getIsSenderSynchronized()
Deprecated. since version 5.5.7 |
protected java.lang.String |
getKey(Member member)
set unique key to find sender |
long |
getMaxProcessingTime()
|
long |
getMinProcessingTime()
|
long |
getNrOfRequests()
|
javax.management.ObjectName |
getObjectName()
|
long |
getProcessingTime()
|
int |
getProcessSenderFrequency()
|
java.lang.Object |
getProperty(java.lang.String key)
get current config |
java.util.Iterator |
getPropertyNames()
Get all properties keys |
java.lang.String |
getReplicationMode()
current replication mode |
protected javax.management.ObjectName |
getSenderObjectName(IDataSender sender)
build sender ObjectName ( engine.domain:type=IDataSender,host="host",senderAddress="receiver.address",senderPort="port" ) |
javax.management.ObjectName[] |
getSenderObjectNames()
get all current senders |
IDataSender[] |
getSenders()
get all current senders |
long |
getTotalBytes()
|
boolean |
isAutoConnect()
|
boolean |
isCompress()
|
boolean |
isDoTransmitterProcessingStats()
|
boolean |
isWaitForAck()
|
protected void |
registerSenderMBean(Member member,
IDataSender sender)
register MBean and check it exist (big problem!) |
void |
remove(Member member)
remove sender from transmitter. ( deregister mbean and disconnect sender ) |
void |
removeProperty(java.lang.String key)
remove a configured property. |
void |
resetStatistics()
Reset sender statistics |
void |
sendMessage(ClusterMessage message)
send message to all senders (broadcast) |
void |
sendMessage(ClusterMessage message,
Member member)
Send data to one member FIXME set filtering messages |
void |
sendMessageClusterDomain(ClusterMessage message)
Send to all senders at same cluster domain as message from address |
protected boolean |
sendMessageData(ClusterData data,
IDataSender sender)
Send message to concrete sender. |
protected ClusterData |
serialize(ClusterMessage msg)
serialize message and add timestamp from message handle compression |
void |
setAckTimeout(long ackTimeout)
|
void |
setAutoConnect(boolean autoConnect)
|
void |
setCatalinaCluster(SimpleTcpCluster cluster)
|
void |
setCompress(boolean compressMessageData)
|
void |
setDoTransmitterProcessingStats(boolean doProcessingStats)
|
void |
setObjectName(javax.management.ObjectName name)
Transmitter ObjectName |
void |
setProcessSenderFrequency(int processSenderFrequency)
|
void |
setProperty(java.lang.String name,
java.lang.Object value)
set config attributes with reflect |
void |
setReplicationMode(java.lang.String mode)
set replication Mode (pooled, synchonous, asynchonous, fastasyncqueue) |
void |
setWaitForAck(boolean waitForAck)
|
void |
start()
start the sender and register transmitter mbean |
void |
stop()
|
protected void |
transferSenderProperty(IDataSender sender)
Transfer all properties from transmitter to concrete sender |
protected void |
unregisterSenderMBean(IDataSender sender)
unregsister sendern Mbean |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected StringManager sm
protected int processSenderFrequency
protected boolean doTransmitterProcessingStats
protected long processingTime
protected long minProcessingTime
protected long maxProcessingTime
Constructor Detail |
public ReplicationTransmitter()
Method Detail |
public java.lang.String getInfo()
<description>/<version>
.
public long getNrOfRequests()
public long getTotalBytes()
public long getFailureCounter()
public java.lang.String getReplicationMode()
public void setReplicationMode(java.lang.String mode)
mode
- IDataSenderFactory.validateMode(String)
public double getAvgProcessingTime()
public long getMaxProcessingTime()
public long getMinProcessingTime()
public long getProcessingTime()
public boolean isDoTransmitterProcessingStats()
public void setDoTransmitterProcessingStats(boolean doProcessingStats)
doProcessingStats
- The doTransmitterProcessingStats to set.public void setObjectName(javax.management.ObjectName name)
name
- public javax.management.ObjectName getObjectName()
public boolean isCompress()
isCompress
in interface ClusterSender
public void setCompress(boolean compressMessageData)
setCompress
in interface ClusterSender
compressMessageData
- The compress to set.public boolean isAutoConnect()
public void setAutoConnect(boolean autoConnect)
autoConnect
- The autoConnect to set.public long getAckTimeout()
public void setAckTimeout(long ackTimeout)
ackTimeout
- public boolean isWaitForAck()
isWaitForAck
in interface ClusterSender
public void setWaitForAck(boolean waitForAck)
setWaitForAck
in interface ClusterSender
waitForAck
- The waitForAck to set.public int getProcessSenderFrequency()
public void setProcessSenderFrequency(int processSenderFrequency)
processSenderFrequency
- The processSenderFrequency to set.public void setCatalinaCluster(SimpleTcpCluster cluster)
setCatalinaCluster
in interface ClusterSender
cluster
- public boolean getIsSenderSynchronized()
public void setProperty(java.lang.String name, java.lang.Object value)
setProperty
in interface IDynamicProperty
name
- value
- public java.lang.Object getProperty(java.lang.String key)
getProperty
in interface IDynamicProperty
key
-
public java.util.Iterator getPropertyNames()
getPropertyNames
in interface IDynamicProperty
public void removeProperty(java.lang.String key)
removeProperty
in interface IDynamicProperty
key
- public void sendMessage(ClusterMessage message, Member member) throws java.io.IOException
sendMessage
in interface ClusterSender
java.io.IOException
ClusterSender.sendMessage(org.apache.catalina.cluster.ClusterMessage, org.apache.catalina.cluster.Member)
public void sendMessageClusterDomain(ClusterMessage message) throws java.io.IOException
sendMessageClusterDomain
in interface ClusterSender
message
- Cluster message to send
java.io.IOException
public void sendMessage(ClusterMessage message) throws java.io.IOException
sendMessage
in interface ClusterSender
java.io.IOException
FIXME Refactor with sendMessageClusterDomain!
public void start() throws java.io.IOException
start
in interface ClusterSender
java.io.IOException
ClusterSender.start()
public void stop()
stop
in interface ClusterSender
public void backgroundProcess()
backgroundProcess
in interface ClusterSender
SimpleTcpCluster.backgroundProcess()
public void checkKeepAlive()
DataSender.checkKeepAlive()
public IDataSender[] getSenders()
public javax.management.ObjectName[] getSenderObjectNames()
public void resetStatistics()
public void add(Member member)
add
in interface ClusterSender
ClusterSender.add(org.apache.catalina.cluster.Member)
public void remove(Member member)
remove
in interface ClusterSender
ClusterSender.remove(org.apache.catalina.cluster.Member)
protected void addStats(int length)
length
- protected void transferSenderProperty(IDataSender sender)
sender
- protected java.lang.String getKey(Member member)
member
-
protected void unregisterSenderMBean(IDataSender sender)
sender
- getSenderObjectName(IDataSender)
protected void registerSenderMBean(Member member, IDataSender sender)
member
- sender
- protected javax.management.ObjectName getSenderObjectName(IDataSender sender)
sender
-
protected ClusterData serialize(ClusterMessage msg) throws java.io.IOException
msg
- cluster message
java.io.IOException
GZIPOutputStream
protected boolean sendMessageData(ClusterData data, IDataSender sender) throws java.io.IOException
data
- message Datasender
- concrete message sender
java.io.IOException
- If an error occursprotected void addProcessingStats(long startTime)
startTime
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |