Contact Us 1-800-596-4880

Transport Service Descriptors

Mule Runtime Engine versions 3.5, 3.6, and 3.7 reached End of Life on or before January 25, 2020. For more information, contact your Customer Success Manager to determine how you can migrate to the latest Mule version.

A service descriptor is a file containing properties that describes how the internals of a transport is configured, such as which dispatcher factory to use or which endpoint builder to use. The service descriptor file must have the same name as the protocol of the transport and must be stored in the META-INF directory.

META-INF/services/org/mule/transport/<protocol>.properties.

Following are the properties that can be set in a transport service descriptor.

Property Description Required

connector

The name of the default connector class to use. This must be an implementation of org.mule.api.transport.Connector.

Yes

dispatcher.factory

The name of the dispatcher factory class to use. This must be an implementation of org.mule.api.transport.MessageDispatcherFactory.

No (if inbound only)

requester.factory

The name of the requester factory class to use. org.mule.api.transport.MessageRequesterFactory.

No

message.receiver

The name of the message receiver class to use. This must be an implementation of org.mule.api.transport.MessageReceiver.

No (if inbound only)

transacted.message.receiver

The name of the message receiver class to use for transacted messages. Some transports implement a transacted message receiver separately, in which case the MessageReceiver class can be specified here so Mule knows which receiver to use when creating endpoints that are transacted. This must be an implementation of org.mule.api.transport.MessageReceiver

No

xa.transacted.message.receiver

If the transport supports XA transactions, the name of the XA transacted message receiver implementation to use. Some transports implement an XA transacted message receiver separately, in which case the MessageReceiver class can be specified here so Mule knows which receiver to use when creating endpoints that are XA transacted. This must be an implementation of org.mule.api.transport.MessageReceiver .

No

message.factory

The name of the message factory class to use for this connector. This must be an implementation of org.mule.api.transport.MuleMessageFactory .

Yes

inbound.transformer

The default transformer to use on inbound endpoints using this transport if no transform has been explicitly set on the endpoint. The property is the class name of a transformer that implements org.mule.api.transformer.Transformer.

No

response.transformer

The default transformer to use on inbound endpoints using this transport if no transformer has been explicitly set for the response message flow in Request/Response style messaging. The property is the class name of a transformer that implements org.mule.api.transformer.Transformer.

No

outbound.transformer

The default transformer to use on outbound endpoints using this transport if no transform has been explicitly set on the endpoint. The property is the class name of a transformer that implements org.mule.api.transformer.Transformer.

No

endpoint.builder

The class name of the endpoint builder used to parse the endpoint and create the URI. Mule provides a standard set of endpoint builders such as ResourceNameEndpointURIBuilder used by JMS and VM, SocketEndpointURIBuilder used by TCP, HTTP, and UDP, and UrlEndpointURIBuilder used by SOAP. Custom endpoint builders should extend org.mule.endpoint.AbstractEndpointBuilder.

Yes

session.handler

The name of the session handler class to use for reading and writing session information to and from the current message. This must be an implementation of org.mule.api.transport.SessionHandler.

No

inbound.exchange.patterns

Comma-separated list of supported exchange patterns for inbound endpoints.

Yes

outbound.exchange.patterns

Comma-separated list of supported exchange patterns for outbound endpoints.

Yes

default.exchange.pattern

Exchange pattern to use for an endpoint if none was configured

Yes