Class GzipInterceptor
java.lang.Object
org.apache.catalina.tribes.group.ChannelInterceptorBase
org.apache.catalina.tribes.group.interceptors.GzipInterceptor
- All Implemented Interfaces:
ChannelInterceptor
,GzipInterceptorMBean
,Heartbeat
,MembershipListener
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.catalina.tribes.ChannelInterceptor
ChannelInterceptor.InterceptorEvent
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final int
protected static final StringManager
Fields inherited from class org.apache.catalina.tribes.group.ChannelInterceptorBase
optionFlag
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]
compress
(byte[] data) static byte[]
decompress
(byte[] data) long
long
int
int
getCount()
int
int
int
int
int
long
long
boolean
long
long
void
themessageReceived
is invoked when a message is received.void
report()
void
reset()
void
sendMessage
(Member[] destination, ChannelMessage msg, InterceptorPayload payload) ThesendMessage
method is called when a message is being sent to one more destinations.void
setCompressionMinSize
(int compressionMinSize) Set the minimum payload size for compression to be enabled.void
setInterval
(int interval) If statistics collection is enabled, set the number of messages between statistics reports being written to the log.void
setStatsEnabled
(boolean statsEnabled) Configure whether the interceptor collects statistics.Methods inherited from class org.apache.catalina.tribes.group.ChannelInterceptorBase
fireInterceptorEvent, getChannel, getLocalMember, getMember, getMembers, getNext, getOptionFlag, getPrevious, hasMembers, heartbeat, memberAdded, memberDisappeared, okToProcess, setChannel, setNext, setOptionFlag, setPrevious, start, stop
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.catalina.tribes.group.interceptors.GzipInterceptorMBean
getOptionFlag, setOptionFlag
-
Field Details
-
sm
-
DEFAULT_BUFFER_SIZE
public static final int DEFAULT_BUFFER_SIZE- See Also:
-
DEFAULT_OPTION_COMPRESSION_ENABLE
public static final int DEFAULT_OPTION_COMPRESSION_ENABLE- See Also:
-
-
Constructor Details
-
GzipInterceptor
public GzipInterceptor()
-
-
Method Details
-
sendMessage
public void sendMessage(Member[] destination, ChannelMessage msg, InterceptorPayload payload) throws ChannelException Description copied from interface:ChannelInterceptor
ThesendMessage
method is called when a message is being sent to one more destinations. The interceptor can modify any of the parameters and then pass on the message down the stack by invokinggetNext().sendMessage(destination,msg,payload)
Alternatively the interceptor can stop the message from being sent by not invokinggetNext().sendMessage(destination,msg,payload)
If the message is to be sent asynchronous the application can be notified of completion and errors by passing in an error handler attached to a payload object.
The ChannelMessage.getAddress contains Channel.getLocalMember, and can be overwritten to simulate a message sent from another node.- Specified by:
sendMessage
in interfaceChannelInterceptor
- Overrides:
sendMessage
in classChannelInterceptorBase
- Parameters:
destination
- Member[] - the destination for this messagemsg
- ChannelMessage - the message to be sentpayload
- InterceptorPayload - the payload, carrying an error handler and future useful data, can be null- Throws:
ChannelException
- if a serialization error happens.- See Also:
-
messageReceived
Description copied from interface:ChannelInterceptor
themessageReceived
is invoked when a message is received.ChannelMessage.getAddress()
is the sender, or the reply-to address if it has been overwritten.- Specified by:
messageReceived
in interfaceChannelInterceptor
- Overrides:
messageReceived
in classChannelInterceptorBase
- Parameters:
msg
- ChannelMessage
-
compress
- Throws:
IOException
-
decompress
- Parameters:
data
- Data to decompress- Returns:
- Decompressed data
- Throws:
IOException
- Compression error
-
report
public void report()- Specified by:
report
in interfaceGzipInterceptorMBean
-
getCompressionMinSize
public int getCompressionMinSize()- Specified by:
getCompressionMinSize
in interfaceGzipInterceptorMBean
- Returns:
- the minimum payload size for compression to be enabled.
-
setCompressionMinSize
public void setCompressionMinSize(int compressionMinSize) Description copied from interface:GzipInterceptorMBean
Set the minimum payload size for compression to be enabled. A value of zero or less means compression will always be used. If not explicitly configured, a default of zero will be used.- Specified by:
setCompressionMinSize
in interfaceGzipInterceptorMBean
- Parameters:
compressionMinSize
- The new minimum payload size
-
getStatsEnabled
public boolean getStatsEnabled()- Specified by:
getStatsEnabled
in interfaceGzipInterceptorMBean
- Returns:
true
if the interceptor is configured to collect statistics, otherwisefalse
-
setStatsEnabled
public void setStatsEnabled(boolean statsEnabled) Description copied from interface:GzipInterceptorMBean
Configure whether the interceptor collects statistics.- Specified by:
setStatsEnabled
in interfaceGzipInterceptorMBean
- Parameters:
statsEnabled
-true
to enable statistics collections, otherwisefalse
-
getInterval
public int getInterval()- Specified by:
getInterval
in interfaceGzipInterceptorMBean
- Returns:
- If statistics collection is enabled, the number of messages between statistics reports being written to the log.
-
setInterval
public void setInterval(int interval) Description copied from interface:GzipInterceptorMBean
If statistics collection is enabled, set the number of messages between statistics reports being written to the log. A value of zero or less means no statistics reports are written.- Specified by:
setInterval
in interfaceGzipInterceptorMBean
- Parameters:
interval
- The new interval between reports
-
getCount
public int getCount()- Specified by:
getCount
in interfaceGzipInterceptorMBean
-
getCountCompressedTX
public int getCountCompressedTX()- Specified by:
getCountCompressedTX
in interfaceGzipInterceptorMBean
-
getCountUncompressedTX
public int getCountUncompressedTX()- Specified by:
getCountUncompressedTX
in interfaceGzipInterceptorMBean
-
getCountCompressedRX
public int getCountCompressedRX()- Specified by:
getCountCompressedRX
in interfaceGzipInterceptorMBean
-
getCountUncompressedRX
public int getCountUncompressedRX()- Specified by:
getCountUncompressedRX
in interfaceGzipInterceptorMBean
-
getSizeTX
public long getSizeTX()- Specified by:
getSizeTX
in interfaceGzipInterceptorMBean
-
getCompressedSizeTX
public long getCompressedSizeTX()- Specified by:
getCompressedSizeTX
in interfaceGzipInterceptorMBean
-
getUncompressedSizeTX
public long getUncompressedSizeTX()- Specified by:
getUncompressedSizeTX
in interfaceGzipInterceptorMBean
-
getSizeRX
public long getSizeRX()- Specified by:
getSizeRX
in interfaceGzipInterceptorMBean
-
getCompressedSizeRX
public long getCompressedSizeRX()- Specified by:
getCompressedSizeRX
in interfaceGzipInterceptorMBean
-
getUncompressedSizeRX
public long getUncompressedSizeRX()- Specified by:
getUncompressedSizeRX
in interfaceGzipInterceptorMBean
-
reset
public void reset()- Specified by:
reset
in interfaceGzipInterceptorMBean
-