Global channel interceptor
Pattern
Channel name(s) or patterns this interceptor will be added to.
To specify more than one channel use ','
(e.g., pattern="input*, foo, bar"
).
Required
Channel interceptor that sends entry tracking messages to the specified tracking channel.
The generated tracking messages will be complete, well-formed XML documents represented as a String. These messages will contain one <entry-tracking> element, as defined by the XML schema located at: classpath:com/emagiz/components/tracking/emagiz-tracking-1.0.xsd
The tracked message is slightly altered by this interceptor, because the TrackingHeaders.ID header is added to it. This header is required for the expected downstream ExitTrackingInterceptor to function.
Channel interceptor that sends exit tracking messages to the specified tracking channel.
The generated tracking messages will be complete, well-formed XML documents represented as a String. These messages will contain one <exit-tracking> element, as defined by the XML schema located at: classpath:com/emagiz/components/tracking/emagiz-tracking-1.0.xsd
The tracked message is expected to contain the TrackingHeaders.ID header, which should've been added by an upstream EntryTrackingInterceptor.
Channel interceptor that sends debug messages to the specified debug channel.
The generated debug messages will be complete, well-formed XML documents represented as a string. These messages will contain one <debug-message> element, as defined by the XML schema located at:
classpath:com/emagiz/components/debug/emagiz-debug-1.0.xsd
The intercepted message is not altered at all by this interceptor, nor should this interceptor ever cause any exceptions to interfere with the main message flow: any exceptions that occur are simply logged as error messages.
This interceptor will start deactivated and can be activated by calling activate(String, long)
. When not activated, no debug messages will be produced.
Order
Specifies the order in which this interceptor will be added to the existing channel interceptors (if any).
Negative value (e.g., -2
) will signify before existing interceptors (if any).
Positive value (e.g., 2
) will signify after existing interceptors (if any).
Optional
Channel interceptor that sends entry tracking messages to the specified tracking channel.
The generated tracking messages will be complete, well-formed XML documents represented as a String. These messages will contain one <entry-tracking> element, as defined by the XML schema located at: classpath:com/emagiz/components/tracking/emagiz-tracking-1.0.xsd
The tracked message is slightly altered by this interceptor, because the TrackingHeaders.ID header is added to it. This header is required for the expected downstream ExitTrackingInterceptor to function.
Channel interceptor that sends exit tracking messages to the specified tracking channel.
The generated tracking messages will be complete, well-formed XML documents represented as a String. These messages will contain one <exit-tracking> element, as defined by the XML schema located at: classpath:com/emagiz/components/tracking/emagiz-tracking-1.0.xsd
The tracked message is expected to contain the TrackingHeaders.ID header, which should've been added by an upstream EntryTrackingInterceptor.
Channel interceptor that sends debug messages to the specified debug channel.
The generated debug messages will be complete, well-formed XML documents represented as a string. These messages will contain one <debug-message> element, as defined by the XML schema located at:
classpath:com/emagiz/components/debug/emagiz-debug-1.0.xsd
The intercepted message is not altered at all by this interceptor, nor should this interceptor ever cause any exceptions to interfere with the main message flow: any exceptions that occur are simply logged as error messages.
This interceptor will start deactivated and can be activated by calling activate(String, long)
. When not activated, no debug messages will be produced.
Timeout
The timeout when sending to the tracking channel.
A positive value indicates the maximum amount of time (in milliseconds) for waiting on a successful send when the channel is at capacity. A value of zero indicates no waiting at all if the channel is at capacity at the moment of the initial attempt. A negative value indicates waiting indefinitely for a successful send when the channel is at capacity.
Default is 0
, which indicates no waiting for a successful send to the tracking channel.
Omit headers
Whether this tracking interceptor should exclude the headers of the tracked message in the tracking message or not.
Note that the headers id
, timestamp
, sequenceNumber
, sequenceSize
, history
and emagiz_tracking_id
are never included in the list of tracked headers, since these values are already used elsewhere in the tracking message.
Default is false
.
Omit payload
Whether this tracking interceptor should exclude the payload content and payload class of the tracked message in the tracking message or not.
Note that the payload content is always converted to a string value for tracking purposes. This is achieved by first trying to convert the payload object using an XmlToStringTransformer
, and when this fails calling String.valueOf(Object)
on the payload. If this is undesirable because the string conversion is quite expensive or the payload is very large, omitting the payload in the tracking messages can lead to a significant performance increase.
Default is false
.
Timeout
The timeout when sending to the tracking channel.
A positive value indicates the maximum amount of time (in milliseconds) for waiting on a successful send when the channel is at capacity. A value of zero indicates no waiting at all if the channel is at capacity at the moment of the initial attempt. A negative value indicates waiting indefinitely for a successful send when the channel is at capacity.
Default is 0
, which indicates no waiting for a successful send to the tracking channel.
Omit headers
Whether this tracking interceptor should exclude the headers of the tracked message in the tracking message or not.
Note that the headers id
, timestamp
, sequenceNumber
, sequenceSize
, history
and emagiz_tracking_id
are never included in the list of tracked headers, since these values are already used elsewhere in the tracking message.
Default is false
.
Omit payload
Whether this tracking interceptor should exclude the payload content and payload class of the tracked message in the tracking message or not.
Note that the payload content is always converted to a string value for tracking purposes. This is achieved by first trying to convert the payload object using an XmlToStringTransformer
, and when this fails calling String.valueOf(Object)
on the payload. If this is undesirable because the string conversion is quite expensive or the payload is very large, omitting the payload in the tracking messages can lead to a significant performance increase.
Default is false
.
Timeout
The timeout when sending to the debug channel.
A positive value indicates the maximum amount of time (in milliseconds) for waiting on a successful send when the channel is at capacity. A value of zero indicates no waiting at all if the channel is at capacity at the moment of the initial attempt. A negative value indicates waiting indefinitely for a successful send when the channel is at capacity.
Default is 0
, which indicates no waiting for a successful send to the debug channel.
Channel
Channel to send tracking message to.
Required
Location
String describing the location of this interceptor.
Required
Channel
Channel to send tracking message to.
Required
Location
String describing the location of this interceptor.
Required
Channel
Channel to send debug message to.
Required