Element | Description | Class |
---|
async-bridge | The async bridge pattern is used to bridge an In-Out exchange with two In-Only
(or Robust-In-Only) exchanges. This pattern is the opposite of the {@link Pipeline}.
The AsyncBridge uses a correlation identifier to be able to correlate the received
In-Out exchange, the In-Only sent as the request and the In-Only received as the response.
Defaults values are provided to configure those correlation ids. The default behavior
is to use the exchange id of the incoming In-Out exchange as the correlation id and set
it on the request exchange. The same property with the same value should be present on the
response exchange in order for the AsyncBridge to work. ServiceMix components usually take
care of propagating such properties, but failing to propagate it will result in errors. | org.apache.servicemix.eip.patterns.AsyncBridge |
component | An EIP component | org.apache.servicemix.eip.EIPComponent |
content-based-router | ContentBasedRouter can be used for all kind of content-based routing.
This component implements the
Content-Based Router
pattern. | org.apache.servicemix.eip.patterns.ContentBasedRouter |
content-enricher | Implementation of the
Content-Enricher
Pattern. | org.apache.servicemix.eip.patterns.ContentEnricher |
default-comparator | Compares {@link MessageExchange} sequence elements based on sequence numbers
defined by their in-{@link javax.jbi.messaging.NormalizedMessage}s. This comparator works on
sequence numbers of type {@link Long}. Sequence numbers must be stored as
{@link javax.jbi.messaging.NormalizedMessage} properties. The property name under which the
sequence number is stored is configured via this comparator's
sequenceNumberKey property. | org.apache.servicemix.eip.support.resequence.DefaultComparator |
exchange-target | An ExchangeTarget may be used to specify the target of an exchange,
while retaining all the JBI features (interface based routing, service
name based routing or endpoint routing). | org.apache.servicemix.eip.support.ExchangeTarget |
message-filter | MessageFilter allows filtering incoming JBI exchanges.
This component implements the
Message Filter
pattern. | org.apache.servicemix.eip.patterns.MessageFilter |
namespace-context | A simple namespace context. | org.apache.servicemix.eip.support.NamespaceContextImpl |
pipeline | The Pipeline component is a bridge between an In-Only (or Robust-In-Only) MEP and
an In-Out MEP.
When the Pipeline receives an In-Only MEP, it will send the input in an In-Out MEP
to the tranformer destination and forward the response in an In-Only MEP to the target
destination.
In addition, this component is fully asynchronous and uses an exchange store to provide
full HA and recovery for clustered / persistent flows. | org.apache.servicemix.eip.patterns.Pipeline |
recipient-list-aggregator | An aggregator specifically written to aggregate messages that have been sent using
a StaticRecipientList pattern. | org.apache.servicemix.eip.patterns.RecipientListAggregator |
resequencer | This pattern implements the Resequencer EIP
pattern. The aim of this pattern is to put back into correct order a flow of out-of-sequence messages. | org.apache.servicemix.eip.patterns.Resequencer |
routing-rule | The RoutingRule interface is used by content based routers.
If the rule predicate matches the MessageExchange, the
target defined on the rule will be used as the destination for
the given MessageExchange. | org.apache.servicemix.eip.support.RoutingRule |
split-aggregator | Aggregator can be used to wait and combine several messages.
This component implements the
Aggregator
pattern.
This aggregator collect messages with a count, index and correlationId properties.
These properties are automatically set by splitters.
A timeout may be specified so that the aggregator will not keep data forever if a message is missing. | org.apache.servicemix.eip.patterns.SplitAggregator |
static-recipient-list | The StaticRecipientList component will forward an input In-Only or Robust-In-Only
exchange to a list of known recipients.
This component implements the
Recipient List
pattern, with the limitation that the recipient list is static. | org.apache.servicemix.eip.patterns.StaticRecipientList |
static-routing-slip | A RoutingSlip component can be used to route an incoming In-Out exchange
through a series of target services.
This endpoint implements the
Routing Slip
pattern, with the limitation that the routing table is static.
This endpoint only uses In-Out MEPs and errors or faults sent by targets are reported
back to the consumer, thus interrupting the routing process.
In addition, this endpoint is fully asynchronous and uses an exchange store to provide
full HA and recovery for clustered / persistent flows. | org.apache.servicemix.eip.patterns.StaticRoutingSlip |
switch-predicate | Switch (on/off) predicate based on a property that can come from
a system property, a property from a property file (specified as Spring resource),
or a property from the exchange.
The property is interpreted as a boolean value. | org.apache.servicemix.eip.support.SwitchPredicate |
wire-tap | A WireTap component can be used to forward a copy of the input message to a listener.
This component implements the
WireTap
pattern.
It can handle all 4 standard MEPs, but will only send an In-Only MEP to the listener.
In addition, this component is fully asynchronous and uses an exchange store to provide
full HA and recovery for clustered / persistent flows. | org.apache.servicemix.eip.patterns.WireTap |
xpath-predicate | A predicate that verify if the xpath expression evaluated on
the content of the input message is true or not. | org.apache.servicemix.eip.support.XPathPredicate |
xpath-splitter | The XPathSplitter component implements the
Splitter
pattern using an xpath expression to split the incoming xml. | org.apache.servicemix.eip.patterns.XPathSplitter |
Attribute | Type | Description |
---|
endpoint | xs:string | The name of the endpoint. |
interfaceName | xs:QName | The qualified name of the interface exposed by the endpoint. |
requestCorrId | xs:string | The expression used to compute the correlation id used to correlate the response and
the request. The default behavior is to use the exchange id of the incoming In-Out
exchange as the correlation id. |
responseCorrId | xs:string | The expression used to compute the correlation id from the response exchange.
The value computed by this expression must match the one from the {@link #setRequestCorrId}
expression. The default value is null, but if no specific expression is configured,
an expression will be created which will extract the response correlation id from the
{@link #setResponseCorrIdProperty(String)} property on the exchange. |
responseCorrIdProperty | xs:string | Name of the property used by default to compute the correlation id on the response
exchange. |
service | xs:QName | The qualified name of the service the endpoint exposes. |
timeout | xs:long | The timeout property controls the amount of time that the async bridge will wait for the response
after having sent the request. The default value is 0 which means that no timeout apply. If set
to a non zero value, a timer will be started when after the request is sent. When the timer
expires, the In-Out exchange will be sent back with an error status and a
{@link java.util.concurrent.TimeoutException} as the cause of the error.
The value represents the number of milliseconds to wait. |
useRobustInOnly | xs:boolean | Boolean flag to control if In-Only or Robust-In-Only exchange should be used
when sending the request. The default value is false which means
that an In-Only exchange will be used. When using a Robust-In-Only exchange and
when a fault is received, this fault will be sent back to the consumer on the In-Out
exchange and the response exchange (if any) would be discarded.
For both In-Only and Robust-In-Only, if the request exchange comes back with an Error
status, this error will be conveyed back to the consumer in the same way. |
wsdlResource | xs:string | When specified, this spring resource will be used to load the
WSDL that will be exposed as a description for this endpoint.
This property can be used to explicitely define the WSDL to be
exposed by this endpoint. This property takes precedence over
the wsdlExchangeTarget property. |
Element | Type | Description |
---|
lockManager | <spring:bean/> | The lock manager to use for this endpoint. If none is explicitely specified
a default implementation will be provided. |
store | <spring:bean/> | Configure the store to use. If none is explicitely configured,
the storeFactory will be used to create one. |
storeFactory | <spring:bean/> | The store factory to use when creating a store. If no factory
is explicitely defined, an in-memory only factory will be created. |
target | exchange-target | The target which will be used to send an In-Only or Robust-In-Only exchange to.
When receiving an In-Out exchange, the async bridge will create an In-Only request
and send it to the specified target. It then expects another In-Only exchange to
come back as the response, which will be set as the Out message on the In-Out exchange.
This property is mandatory and must be set to a valid target. |
timerManager | <spring:bean/> | The timer manager to use for this endpoint. If none is explicitely configured,
a default implementation will be provided. |
wsdlExchangeTarget | exchange-target | An exchange target pointing to a JBI endpoint that
will be used to load the WSDL describing this endpoint.
This can be used when the endpoint proxies another endpoint
so that the same WSDL definition will be exposed." |
Attribute | Type | Description |
---|
copyAttachments | xs:boolean | If this is set to true , message attachments from the incoming exchange and the enricher exchange will be copied
to the outgoing message exchange. The default value is false (do not copy message atachments). |
copyProperties | xs:boolean | If this is set to true , message properties from the incoming exchange and the enricher exchange will be copied
to the outgoing message exchange. The default value is false (do not copy message properties). |
endpoint | xs:string | The name of the endpoint. |
enricherElementName | xs:QName | returns the QName of the resulting root node |
interfaceName | xs:QName | The qualified name of the interface exposed by the endpoint. |
requestElementName | xs:QName | Returns the QName of the element which contains the 'IN Message'
within the response message |
resultElementName | xs:QName | Returns the QName of the element which contains the message
which was produced by the enricherTarget within the
response message |
service | xs:QName | The qualified name of the service the endpoint exposes. |
wsdlResource | xs:string | When specified, this spring resource will be used to load the
WSDL that will be exposed as a description for this endpoint.
This property can be used to explicitely define the WSDL to be
exposed by this endpoint. This property takes precedence over
the wsdlExchangeTarget property. |
Element | Type | Description |
---|
filter | switch-predicate | xpath-predicate | The filter to use on incoming messages |
lockManager | <spring:bean/> | The lock manager to use for this endpoint. If none is explicitely specified
a default implementation will be provided. |
store | <spring:bean/> | Configure the store to use. If none is explicitely configured,
the storeFactory will be used to create one. |
storeFactory | <spring:bean/> | The store factory to use when creating a store. If no factory
is explicitely defined, an in-memory only factory will be created. |
target | exchange-target | The main target destination which will receive the exchange |
timerManager | <spring:bean/> | The timer manager to use for this endpoint. If none is explicitely configured,
a default implementation will be provided. |
wsdlExchangeTarget | exchange-target | An exchange target pointing to a JBI endpoint that
will be used to load the WSDL describing this endpoint.
This can be used when the endpoint proxies another endpoint
so that the same WSDL definition will be exposed." |
Element | Type | Description |
---|
faultsTarget | exchange-target | The address of the endpoint to send faults to |
lockManager | <spring:bean/> | The lock manager to use for this endpoint. If none is explicitely specified
a default implementation will be provided. |
store | <spring:bean/> | Configure the store to use. If none is explicitely configured,
the storeFactory will be used to create one. |
storeFactory | <spring:bean/> | The store factory to use when creating a store. If no factory
is explicitely defined, an in-memory only factory will be created. |
target | exchange-target | The address of the target endpoint |
timerManager | <spring:bean/> | The timer manager to use for this endpoint. If none is explicitely configured,
a default implementation will be provided. |
transformer | exchange-target | The adress of the in-out endpoint acting as a transformer |
wsdlExchangeTarget | exchange-target | An exchange target pointing to a JBI endpoint that
will be used to load the WSDL describing this endpoint.
This can be used when the endpoint proxies another endpoint
so that the same WSDL definition will be exposed." |
Attribute | Type | Description |
---|
aggregateElementName | xs:QName | The qualified name that will be used as the root xml element when building the aggregate.
Messages contents will be appended to this root element as direct children or inside
an element dependending on the messageElementName property. |
copyAttachments | xs:boolean | Copy all attachments from the incoming messages to the aggregated
message. Default value is true . |
copyProperties | xs:boolean | Copy all properties from the incoming messages to the aggregated
message. Default value is true . |
corrId | xs:string | An expression used to compute the correlation ids of incoming messages to find
related messages. The default value is to retrieve the same property as the
splitter. |
count | xs:string | An expression used to compute the total number of message that the aggregate will contain.
The default value is to retrieve the same property as the splitter. This property is evaluated
on each incoming message and must always have the same value for all messages in the same aggregate. |
countAttribute | xs:string | The name of the xml attribute attached to the root element that will contain the number of
messages in this aggregate. |
endpoint | xs:string | The name of the endpoint. |
index | xs:string | An expression used to compute the index of this message in the aggregate.
For a given message, the index must be unique within the aggregate and must
range between 0 and count - 1 included. |
indexAttribute | xs:string | The name of the xml attribute attached to the message element that will contain the index of
messages in this aggregate. |
interfaceName | xs:QName | The qualified name of the interface exposed by the endpoint. |
messageElementName | xs:QName | The qualified name of the xml element used to embed each message
when building the aggregated message. If null , messages
contents will be appended directly as children of the root element. |
reportClosedAggregatesAsErrors | xs:boolean | Sets whether the aggregator should report errors on incoming exchanges received after a given
aggregate has been closed.
The default value is false , meaning that such exchanges will be silently sent back
with a DONE status and discarded with respect to the aggregation process. |
reportErrors | xs:boolean | Sets whether the aggregator should report errors happening when sending the
aggregate on all exchanges that compose the aggregate.
The default value is false , meaning that if any error occur, this
error will be lost.
Note that if this flag is set to true , all exchanges received as part of a given aggregate
will be hold until the aggregate is sent and the DONE / ERROR status is received back. |
reportTimeoutAsErrors | xs:boolean | Sets whether the aggregator should reports errors on incoming exchanges already received when
a timeout occurs.
The default value is false , meaning that such exchanges will be silently sent back
a DONE status. |
rescheduleTimeouts | xs:boolean | Boolean flag controlling if aggregate timeouts are rescheduled each time a new message is added
to the aggregate. If false , the timeout will expire when the specified amount of
time elapsed after the first message is received for this aggregate. If true ,
the timeout will expire when the specified amount of time elapsed after the last message is received.
The default value is false . |
service | xs:QName | The qualified name of the service the endpoint exposes. |
synchronous | xs:boolean | Boolean flag that Controls whether the aggregate (when ready) will be sent synchronously or not.
On ServiceMix 3.x, this can have an effect upon the flow and transaction semantics.
The default value is false . |
timeout | xs:long | The maximum amount of time (in milliseconds) that can elapse between messages for a single aggregate.
The default value is 0 which means that the timeout is not used at all. |
wsdlResource | xs:string | When specified, this spring resource will be used to load the
WSDL that will be exposed as a description for this endpoint.
This property can be used to explicitely define the WSDL to be
exposed by this endpoint. This property takes precedence over
the wsdlExchangeTarget property. |
Element | Type | Description |
---|
closedAggregatesStoreFactory | <spring:bean/> | Access the currently configured {@link StoreFactory} for storing closed aggregations |
lockManager | <spring:bean/> | The lock manager to use for this endpoint. If none is explicitely specified
a default implementation will be provided. |
store | <spring:bean/> | Configure the store to use. If none is explicitely configured,
the storeFactory will be used to create one. |
storeFactory | <spring:bean/> | The store factory to use when creating a store. If no factory
is explicitely defined, an in-memory only factory will be created. |
target | exchange-target | The exchange target that will be used to send the aggregate to. |
timerManager | <spring:bean/> | The timer manager to use for this endpoint. If none is explicitely configured,
a default implementation will be provided. |
wsdlExchangeTarget | exchange-target | An exchange target pointing to a JBI endpoint that
will be used to load the WSDL describing this endpoint.
This can be used when the endpoint proxies another endpoint
so that the same WSDL definition will be exposed." |
Attribute | Type | Description |
---|
aggregateElementName | xs:QName | The qualified name that will be used as the root xml element when building the aggregate.
Messages contents will be appended to this root element as direct children or inside
an element dependending on the messageElementName property. |
copyAttachments | xs:boolean | Copy all attachments from the incoming messages to the aggregated
message. Default value is true . |
copyProperties | xs:boolean | Copy all properties from the incoming messages to the aggregated
message. Default value is true . |
corrId | xs:string | An expression used to compute the correlation ids of incoming messages to find
related messages. The default value is to retrieve the same property as the
splitter. |
count | xs:string | An expression used to compute the total number of message that the aggregate will contain.
The default value is to retrieve the same property as the splitter. This property is evaluated
on each incoming message and must always have the same value for all messages in the same aggregate. |
countAttribute | xs:string | The name of the xml attribute attached to the root element that will contain the number of
messages in this aggregate. |
endpoint | xs:string | The name of the endpoint. |
index | xs:string | An expression used to compute the index of this message in the aggregate.
For a given message, the index must be unique within the aggregate and must
range between 0 and count - 1 included. |
indexAttribute | xs:string | The name of the xml attribute attached to the message element that will contain the index of
messages in this aggregate. |
interfaceName | xs:QName | The qualified name of the interface exposed by the endpoint. |
messageElementName | xs:QName | The qualified name of the xml element used to embed each message
when building the aggregated message. If null , messages
contents will be appended directly as children of the root element. |
reportClosedAggregatesAsErrors | xs:boolean | Sets whether the aggregator should report errors on incoming exchanges received after a given
aggregate has been closed.
The default value is false , meaning that such exchanges will be silently sent back
with a DONE status and discarded with respect to the aggregation process. |
reportErrors | xs:boolean | Sets whether the aggregator should report errors happening when sending the
aggregate on all exchanges that compose the aggregate.
The default value is false , meaning that if any error occur, this
error will be lost.
Note that if this flag is set to true , all exchanges received as part of a given aggregate
will be hold until the aggregate is sent and the DONE / ERROR status is received back. |
reportTimeoutAsErrors | xs:boolean | Sets whether the aggregator should reports errors on incoming exchanges already received when
a timeout occurs.
The default value is false , meaning that such exchanges will be silently sent back
a DONE status. |
rescheduleTimeouts | xs:boolean | Boolean flag controlling if aggregate timeouts are rescheduled each time a new message is added
to the aggregate. If false , the timeout will expire when the specified amount of
time elapsed after the first message is received for this aggregate. If true ,
the timeout will expire when the specified amount of time elapsed after the last message is received.
The default value is false . |
service | xs:QName | The qualified name of the service the endpoint exposes. |
synchronous | xs:boolean | Boolean flag that Controls whether the aggregate (when ready) will be sent synchronously or not.
On ServiceMix 3.x, this can have an effect upon the flow and transaction semantics.
The default value is false . |
timeout | xs:long | The maximum amount of time (in milliseconds) that can elapse between messages for a single aggregate.
The default value is 0 which means that the timeout is not used at all. |
wsdlResource | xs:string | When specified, this spring resource will be used to load the
WSDL that will be exposed as a description for this endpoint.
This property can be used to explicitely define the WSDL to be
exposed by this endpoint. This property takes precedence over
the wsdlExchangeTarget property. |
Element | Type | Description |
---|
closedAggregatesStoreFactory | <spring:bean/> | Access the currently configured {@link StoreFactory} for storing closed aggregations |
lockManager | <spring:bean/> | The lock manager to use for this endpoint. If none is explicitely specified
a default implementation will be provided. |
store | <spring:bean/> | Configure the store to use. If none is explicitely configured,
the storeFactory will be used to create one. |
storeFactory | <spring:bean/> | The store factory to use when creating a store. If no factory
is explicitely defined, an in-memory only factory will be created. |
target | exchange-target | The exchange target that will be used to send the aggregate to. |
timerManager | <spring:bean/> | The timer manager to use for this endpoint. If none is explicitely configured,
a default implementation will be provided. |
wsdlExchangeTarget | exchange-target | An exchange target pointing to a JBI endpoint that
will be used to load the WSDL describing this endpoint.
This can be used when the endpoint proxies another endpoint
so that the same WSDL definition will be exposed." |
Element | Type | Description |
---|
faultListener | exchange-target | The listener destination for fault messages |
inListener | exchange-target | The listener destination for in messages |
lockManager | <spring:bean/> | The lock manager to use for this endpoint. If none is explicitely specified
a default implementation will be provided. |
outListener | exchange-target | The listener destination for out messages |
store | <spring:bean/> | Configure the store to use. If none is explicitely configured,
the storeFactory will be used to create one. |
storeFactory | <spring:bean/> | The store factory to use when creating a store. If no factory
is explicitely defined, an in-memory only factory will be created. |
target | exchange-target | The main target destination which will receive the exchange |
timerManager | <spring:bean/> | The timer manager to use for this endpoint. If none is explicitely configured,
a default implementation will be provided. |
wsdlExchangeTarget | exchange-target | An exchange target pointing to a JBI endpoint that
will be used to load the WSDL describing this endpoint.
This can be used when the endpoint proxies another endpoint
so that the same WSDL definition will be exposed." |
Attribute | Type | Description |
---|
endpoint | xs:string | The name of the endpoint. |
forwardAttachments | xs:boolean | Indicates if incoming attachments should be forwarded with the new exchanges. |
forwardProperties | xs:boolean | Indicates if properties on the incoming message should be forwarded. |
interfaceName | xs:QName | The qualified name of the interface exposed by the endpoint. |
reportErrors | xs:boolean | Indicates if faults and errors from splitted parts should be sent
back to the consumer. In such a case, only the first fault or
error received will be reported.
Note that if the consumer is synchronous, it will be blocked
until all parts have been successfully acked, or
a fault or error is reported, and the exchange will be kept in the
store for recovery. |
service | xs:QName | The qualified name of the service the endpoint exposes. |
synchronous | xs:boolean | Specifies wether exchanges for all parts are sent synchronously or not. |
wsdlResource | xs:string | When specified, this spring resource will be used to load the
WSDL that will be exposed as a description for this endpoint.
This property can be used to explicitely define the WSDL to be
exposed by this endpoint. This property takes precedence over
the wsdlExchangeTarget property. |
xpath | xs:string | The xpath expression used to split the input message. |
Element | Type | Description |
---|
factory | <spring:bean/> | The XPath factory. If no factory is explicitely configured, a defaut one will be created
using XPathFactory.newInstance() . |
functionResolver | <spring:bean/> | The function resolver. |
lockManager | <spring:bean/> | The lock manager to use for this endpoint. If none is explicitely specified
a default implementation will be provided. |
namespaceContext | namespace-context | The namespace context to use when evaluating the xpath expression |
store | <spring:bean/> | Configure the store to use. If none is explicitely configured,
the storeFactory will be used to create one. |
storeFactory | <spring:bean/> | The store factory to use when creating a store. If no factory
is explicitely defined, an in-memory only factory will be created. |
target | exchange-target | The address of the target endpoint. |
timerManager | <spring:bean/> | The timer manager to use for this endpoint. If none is explicitely configured,
a default implementation will be provided. |
variableResolver | <spring:bean/> | The variable resolver. The default one will enable the use of properties on the message, exchange,
as well as making system properties and environment properties available. |
wsdlExchangeTarget | exchange-target | An exchange target pointing to a JBI endpoint that
will be used to load the WSDL describing this endpoint.
This can be used when the endpoint proxies another endpoint
so that the same WSDL definition will be exposed." |