org.mule.config.annotations.endpoints
Annotation Type Reply
@Target(value=METHOD)
@Retention(value=RUNTIME)
@Documented
public @interface Reply
An annotation that allows developers to configure a reply channel. Mule will wait on the reply channel before
returning. Typically, the @Reply annotation is only used when the @Publish annotation is used, since the result of
dispatching to a Publish channel will be returned on the @Reply channel.
The @Reply annotation creates an asynchronous reply channel for a remote service to reply to. In the case of
JMS, this would listen on the JMSReplyTo address. In the case of other Mule services, the transport can set up a
reply channel.
|
Required Element Summary |
String |
uri
The name or URI address of the endpoint to use. |
|
Optional Element Summary |
String |
callback
The name of the callback method to call on the annotated class when a reply is received. |
String |
connector
The connector reference that will be used to create this endpoint. |
boolean |
failOnTimeout
When false, if no message is received the router will stop waiting without throwing an exception. |
String |
filter
An expression filter used to filter out unwanted messages. |
String |
id
An optional identifier for this endpoint. |
int |
replyTimeout
The amount of time to wait for a response message in milliseconds. |
uri
public abstract String uri
- The name or URI address of the endpoint to use. The URI would be literal, which is not recommended.
Instead, you can use either the name of a global endpoint that is already available in the registry,
or you can use a property placeholder and the real value will be injected at runtime. For example:
@Reply(endpoint = "${my.endpoint}")
The endpoint would then be resolved to a property called 'my.endpoint' that is regeistered with the registry.
Expressions can also be used. For example:
@Reply(endpoint = "$[mule.message.header(JMSReplyTo)]")
- Returns:
- A string representation of the endpoint URI, name, or property placeholder.
connector
public abstract String connector
- The connector reference that will be used to create this endpoint. It is important that
the endpoint protocol and the connector correlate. For example, if your endpoint is a JMS
queue, your connector must be a JMS connector.
Many transports such as HTTP do not need a connector to be present, since Mule can create
a default one as needed.
The connector reference can be a reference to a connector in the local registry or a reference
to an object in Galaxy.
TODO: describe how connectors are created
- Returns:
- the connector name associated with the endpoint
- Default:
- ""
filter
public abstract String filter
- An expression filter used to filter out unwanted messages. The filter syntax uses familiar Mule expression
syntax:
filter = "wildcard:*.txt"
or
filter = "xpath:count(Batch/Trade/GUID) > 0"
Filter expressions must result in a boolean or null to mean false.
- Returns:
- A filter expression string or empty string if not defined.
- Default:
- ""
replyTimeout
public abstract int replyTimeout
- The amount of time to wait for a response message in milliseconds.
- Returns:
- the amount of time to wait for a response message in milliseconds
- Default:
- 5000
failOnTimeout
public abstract boolean failOnTimeout
- When false, if no message is received the router will stop waiting without throwing an exception.
If a 'callback' method is set, the method will be invoked with a
NullPayload.
If the expected message is received after the timeout, it will be ignored but Mule will fire a
org.mule.context.notification.RoutingNotification.MISSED_ASYNC_REPLY
notification with the received message.
- Returns:
- true if the reply channel will throw an exception if a reply is not received before the timeout elapses.
- Default:
- true
callback
public abstract String callback
- The name of the callback method to call on the annotated class when a reply is received. This callback method can
be used to alter any reply messages before they are sent back to the client that initiated the request.
This callback method does not have to be defined, and Mule will pass back the reply data to the client.
- Returns:
- The method name to call when a reply is received or empty string if not defined
- Default:
- ""
id
public abstract String id
- An optional identifier for this endpoint. This is only used by Mule to identify the endpoint when logging messages,
firing notifications, and for JMX management.
- Returns:
- the name associated with this endpoint
- Default:
- ""
Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.