Appendix E. ServiceMix component overview

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.

ServiceMix bean elements

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.

Table E.1. ServiceMix bean elements

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

ServiceMix cxf-bc elements

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.

Table E.2. ServiceMix cxf-bc elements

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.

ServiceMix cxf-se elements

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.

Table E.3. ServiceMix cxf-se elements

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.

ServiceMix drools elements

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.

Table E.4. ServiceMix drools elements

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.

ServiceMix EIP elements

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.

Table E.5. ServiceMix EIP elements

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:
  • A system property
  • A property from a property file (specified as a Spring resource)
  • A property from the exchange
This switch can also be switched on and off via JMX.
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.

ServiceMix file elements

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.

Table E.6. ServiceMix file elements

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

ServiceMix FTP elements

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.

Table E.7. ServiceMix FTP elements

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

ServiceMix HTTP elements

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.

Table E.8. ServiceMix HTTP elements

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

ServiceMix JMS elements

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.

Table E.9. ServiceMix JMS elements

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

ServiceMix JSR 181 elements

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.

Table E.10. ServiceMix JSR 181 elements

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.

ServiceMix Quartz elements

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.

Table E.11. ServiceMix Quartz elements

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

ServiceMix Saxon elements

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.

Table E.12. ServiceMix Saxon elements

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

ServiceMix script elements

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.

Table E.13. ServiceMix script elements

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

ServiceMix TrueZIP elements

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.

Table E.14. ServiceMix TrueZIP elements

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

ServiceMix WSN-2005 elements

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.

Table E.15. ServiceMix WSN-2005 elements

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

ServiceMix XMPP elements

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.

Table E.16. ServiceMix XMPP elements

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.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.12.163.175