ServiceMix provides a number of service engines and binding components out of the box. You can configure all these components using a Spring-based XML file. In this appendix, we give you an overview of the components provided by ServiceMix and show you which elements you can use to configure these components.
The following tables describe each element you can use in the ServiceMix configuration file for a specific component. Most of the descriptions are based on the XSD documentation, ServiceMix’s wiki, and the Javadocs of the specific classes.
The elements in table E.1 are from the http://servicemix.apache.org/bean/1.0 namespace. You can use them to configure the ServiceMix bean service engine.
Name |
Description |
---|---|
component | Can be used when you want to use the bean endpoints in the lightweight container |
defaultMethodInvocationStrategy | The default strategy for invoking methods on POJOs from a JBI message exchange |
endpoint | Represents a bean endpoint that consists of a POJO together with a MethodInvocation-Strategy, so that JBI message exchanges can be invoked on the bean |
The elements in table E.2 are from the http://servicemix.apache.org/cxfbc/1.0 namespace. You can use them to configure the ServiceMix cxf-bc binding component.
Name |
Description |
---|---|
component | Can be used when you want to use the cxf-bc provider and consumer elements in the lightweight container. |
consumer | Provides an HTTP web service that can be called from outside the JBI container. When a message is received on this endpoint, it’s sent to a specific service endpoint. |
provider | Calls an external web service. An internal component can use this service to call external web services. |
The elements in table E.3 are from the http://servicemix.apache.org/cxfse/1.0 namespace. You can use them to configure the ServiceMix cxf-se service engine.
Name |
Description |
---|---|
component | Can be used when you want to use the cxf-se endpoint and proxy elements in the lightweight container. |
endpoint | Exposes a normal Java bean as a service in the JBI environment. |
proxy | Lets you inject a service endpoint as a Java reference into a Java bean. This allows the Java bean to call JBI service endpoints as if it were a normal Java call. |
The elements in table E.4 are from the http://servicemix.apache.org/drools/1.0 namespace. You can use them to configure the ServiceMix drools service engine.
Name |
Description |
---|---|
component | Can be used when you want to use the drools endpoint element in the lightweight container. |
endpoint | Specifies a drools rule file to be executed when a message exchange is received. The drools rule file can also access the JBI context to send new message exchanges or route the message to a different service endpoint. |
The elements in table E.5 are from the http://servicemix.apache.org/eip/1.0 namespace. You can use them to configure the ServiceMix EIP service engine.
Name |
Description |
---|---|
component | Can be used when you want to use the EIP elements in the lightweight container. |
content-based-router | A content-based router you can use to route a message based on its content or its message properties. |
content-enricher | A content enricher you can use to enrich the message with additional information. |
default-comparator | Compares two MessageExchange sequence elements based on sequence numbers defined by a specific property in the NormalizedMessage. This comparator works on sequence numbers of type Long. Sequence numbers must be stored as NormalizedMessage properties. The property name under which the sequence number is stored is configured via this comparator’s sequenceNumberKey property. |
exchange-target | Specifies the target of an exchange while retaining all the JBI features (interface-based routing, service name–based routing, or endpoint routing). |
message-filter | Determines whether to accept a message. |
namespace-context | A NamespaceContext implementation that can be used to resolve namespaces. |
pipeline | Transforms an In-Only message exchange to an In-Out message exchange. |
recipient-list-aggregator | An aggregator that is specifically written to aggregate messages that have been sent using a StaticRecipientList pattern. |
resequencer | Reorders incoming In-Only or Robust-In-Only exchanges and sends them synchronously to a target service. Synchronous sending ensures that messages arrive in correct order at the target service. |
routing-rule | The RoutingRule interface is used by content-based routers. If the rule predicate matches the MessageExchange, the target defined on the rule is used as the destination for the given MessageExchange. |
split-aggregator | Collects messages with count, index, and correlationId properties. These properties are automatically set by splitters. A timeout may be specified so that the aggregator won’t keep data forever if a message is missing. |
static-recipient-list | Forwards an input In-Only or Robust-In-Only exchange to a list of known recipients. |
static-routing-slip | Routes an incoming In-Out exchange through a series of target services. |
switch-predicate | A switch (on/off) predicate based on a property that can come from any of the following:
|
wire-tap | Forwards a copy of the input message to a different endpoint. |
xpath-predicate | Routes and filters messages. |
xpath-splitter | Splits messages based on an XPath expression. |
The elements in table E.6 are from the http://servicemix.apache.org/file/1.0 namespace. You can use them to configure the ServiceMix file-binding component.
Name |
Description |
---|---|
component | Can be used when you want to use the file elements in the lightweight container |
poller | A polling endpoint that looks for a file or files in a directory and sends the files into the JBI bus as messages, deleting the files by default when they’re processed |
sender | An endpoint that receives a message and writes the content to a file |
The elements in table E.7 are from the http://servicemix.apache.org/ftp/1.0 namespace. You can use them to configure the ServiceMix FTP-binding component.
Name |
Description |
---|---|
component | Can be used when you want to use the FTP elements in the lightweight container |
poller | A polling endpoint that looks for a file or files in a directory on an FTP server and sends the files into the JBI bus as messages, deleting the files by default when they’re processed |
pool | A pool of FTP clients for the Jakarta Commons Net library |
sender | An FTP endpoint that receives messages from the JBI bus and stores them in a specific directory on an FTP server |
The elements in table E.8 are from the http://servicemix.apache.org/http/1.0 namespace. You can use them to configure the ServiceMix HTTP-binding component.
Name |
Description |
---|---|
basicAuthCredentials | Contains parameters needed to send basic authentication credentials |
component | Can be used when you want to use the HTTP elements in the lightweight container |
configuration | Lets you specify common settings such as connection limits, and so on |
consumer | A plain HTTP consumer endpoint that can be used to handle plain HTTP requests (without SOAP) or process requests in a nonstandard way |
endpoint | A generic endpoint that you can configure to act as an HTTP provider or an HTTP consumer |
provider | A simple HTTP provider endpoint that can be used to make calls to a specific HTTP address |
proxyParameters | Contains all the parameters needed to send HTTP requests through a proxy |
serializedMarshaler | Handles Java serialized content from the InputStream of the HttpServletRequest object and to the OutputStream of the HttpServletResponse object |
soap-consumer | A specific HTTP consumer that can parse the SOAP headers of an incoming SOAP call |
soap-provider | A specific HTTP provider that is aware of a message’s SOAP header and body |
sslParameters | Contains all the parameters needed to create an SSL server or client socket |
The elements in table E.9 are from the http://servicemix.apache.org/jms/1.0 namespace. You can use them to configure the ServiceMix JMS binding component.
Name |
Description |
---|---|
component | Can be used when you want to use the JMS elements in the lightweight container |
configuration | Lets you specify common settings such as username and password |
consumer | A server-side HTTP endpoint that consumes plain JMS or JMS + SOAP requests and sends them into the NMR to a given JBI endpoint |
endpoint | A generic endpoint that can be configured to act as a JMS consumer, JMS provider, JMS SOAP consumer, or a JMS SOAP provider |
jca-consumer | A JMS consumer that can be configured as a resource adapter |
provider | A client-side JBI endpoint that can receive requests from the NMR and send them to a given URL where the service is provided |
soap-consumer | A specific JMS consumer that can parse the SOAP headers of an incoming SOAP call |
soap-provider | A specific JMS provider that is aware of a message’s SOAP header and body |
The elements in table E.10 are from the http://servicemix.apache.org/jsr181/1.0 namespace. You can use them to configure the ServiceMix JSR 181 service engine.
Name |
Description |
---|---|
component | Can be used when you want to use the JSR 181 elements in the lightweight container. |
endpoint | Exposes a normal Java bean as a service in the JBI environment. |
proxy | Lets you inject a service endpoint as a Java reference into a Java bean. This allows the Java bean to call JBI service endpoints as if it were a normal Java call. |
The elements in table E.11 are from the http://servicemix.apache.org/quartz/1.0 namespace. You can use them to configure the ServiceMix Quartz service engine.
Name |
Description |
---|---|
component | Can be used when you want to use the Quartz elements in the lightweight container |
cron | Defines when the Quartz endpoint sends a new message exchange |
endpoint | Fires message exchanges at a given time or interval |
jobDetail | Defines how the message looks when it’s sent by the specified endpoint |
simple | Defines when the Quartz endpoint sends a new message exchange |
The elements in table E.12 are from the http://servicemix.apache.org/saxon/1.0 namespace. You can use them to configure the ServiceMix Saxon service engine.
Name |
Description |
---|---|
component | Can be used when you want to use the XSLT elements in the lightweight container |
xquery | Applies a specific XQuery on the input message |
xslt | Applies a specific XML stylesheet on the input message |
The elements in table E.13 are from the http://org.apache.servicemix/script/1.0 namespace. You can use them to configure the ServiceMix script service engine.
Name |
Description |
---|---|
component | Can be used when you want to use the scripting elements in the lightweight container |
exchangeHelper | Creates new message exchanges from your scripts |
exchangeProcessor | Receives messages from the NMR, and invokes a specific script |
The elements in table E.14 are from the http://servicemix.apache.org/truezip/1.0 namespace. You can use them to configure the ServiceMix TrueZIP binding component.
Name |
Description |
---|---|
component | Can be used when you want to use the TrueZIP elements in the lightweight container |
poller | A polling endpoint that looks for a file or files inside a zip file and sends the files into the JBI bus as messages |
sender | An endpoint that receives a message and writes the content as an entry in a zip file |
The elements in table E.15 are from the http://servicemix.apache.org/wsn/1.0 namespace. You can use them to configure the ServiceMix WSN-2005 service engine.
Name |
Description |
---|---|
component | Can be used when you want to use the WS-Notification elements in the lightweight container |
create-pull-point | Lets you create a WS-Notification pull point that can be used by a requestor to retrieve accumulated notification messages |
publisher | Sends messages to a specific topic |
register-publisher | An endpoint that can be used by publishers to register themselves |
subscribe | Lets you create a subscription to a specific topic using the WS-Notification specification |
The elements in table E.16 are from the http://servicemix.apache.org/xmpp/1.0 namespace. You can use them to configure the ServiceMix XMPP binding component.
Name |
Description |
---|---|
component | Can be used when you want to use the XMPP elements in the lightweight container. |
groupChatEndpoint | Represents a group chat endpoint that can be used to send messages to a group on an XMPP server. |
privateChatEndpoint | Represents an endpoint for chatting to a single individual. This endpoint can be used to send messages to a single individual using the XMPP protocol. |
3.12.163.175