@Target(value=TYPE)
@Retention(value=RUNTIME)
@Documented
@Import(value={MessageSenderEndpointBeanRegistrar.class,SynapseAutoConfiguration.class})
@Repeatable(value=EnableMessageSenderEndpoints.class)
public @interface EnableMessageSenderEndpoint
| Modifier and Type | Required Element and Description |
|---|---|
java.lang.String |
channelName
The name of the message queue.
|
java.lang.Class<? extends Selector> |
selector
Selector used to select one of possibly multiple available
MessageSenderEndpointFactory instances. |
| Modifier and Type | Optional Element and Description |
|---|---|
java.lang.String |
name
The name of the registered
MessageSenderEndpoint bean. |
public abstract java.lang.String channelName
Resolving placeholders like "${my.channel.name}" is supported for this property.
public abstract java.lang.Class<? extends Selector> selector
MessageSenderEndpointFactory instances.
Example: the SqsMessageSenderEndpointFactory matches both MessageQueue.class
and Sqs.class. The following usage of the annotation is selecting the SqsMessageSenderEndpointFactory
using the more specific SQS selector class:
@Configuration
@EnableMessageSenderEndpoint(
channelName = "some-sqs-queue",
selector = Sqs.class)
class MyExampleConfiguration {
}
public abstract java.lang.String name
MessageSenderEndpoint bean.
If #name is not set, the name of the bean is derived from the name of the message channel. The name
is constructed by tranforming hyphenated variable naming convention, e.g., "my-channel" into
the Spring bean naming convention, e.g., "myChannel". After this conversion, the string
"MessageQueueSenderEndpoint" is appended. A channel named "my-channel" will therefore result in a bean name
"myChannelMessageQueueSenderEndpoint".