Getting started Community Training Tutorials Documentation APIs, AI & Tools
@Alias("listener")
@EmitsResponse
public class HttpListener extends Source<InputStream, HttpRequestAttributes> {}
Operations are components that process a message and generate a result. Message sources are components that receive or generate new messages to be processed by the Mule Runtime.
Examples of message sources:
An HTTP listener
A File watcher
A JMS/AMQP listener that retrieves messages from a queue to which the user previously subscribed
Salesforce Streaming API
Operations and message sources have:
Parameters
A return type
Name and Description
Reconnection capabilities
| Operations | Message Sources |
|---|---|
Operations process messages. |
Sources create messages and push them to a flow. |
The lifecycle of operations is tied to the containing flow. |
Message sources can be started and stopped independently of the containing flow. |
Parameters of operations have the option of accepting expressions (the default). |
Sources have a clear definition of which parameters can accept expressions and which cannot. Only parameters that are part of generating a response can accept expressions. |
An operation can have a lifecycle, but its parameter values are not available or not needed. |
A Message source must have |
A connection is obtained each time the operation is executed. |
A connection is obtained each time the message source is started or when reconnection happens. |
The differences listed above make it difficult to define a way to implement a message source in a way 100% consistent with the model defined for operations.
Sources are required to extend the Source class, which takes two generics: one for the type of the generated event payload, the other for the type of the Attributes:
@Alias("listener")
@EmitsResponse
public class HttpListener extends Source<InputStream, HttpRequestAttributes> {}
You can use the @Alias annotation to force a name. Otherwise, the SDK will infer one.
|