For simple messaging needs where there are no requirements for message durability, transaction support, or advanced routing logic, the BlazeDS-native
AMF-based message destination is the ideal choice. These destinations can be fully configured in a Spring application context using the
message-destination
XML namespace tag. For example, assuming a Spring-managed MessageBroker
has been configured, all that is
needed to set up a basic destination named "event-bus" with default settings is the following:
<flex:message-destination id="event-bus" />
This sets up a destination to use the BlazeDS ActionScriptAdapter
to handle incoming messages. The settings of the destination can be
further customized through the various attributes of the message-destination
tag. Here is an example of the "event-bus" destination configured
with most of the available attributes:
<flex:message-destination id="event-bus" message-broker="messageServiceBroker" channels="my-polling-amf, my-secure-amf" allow-subtopics="true" cluster-message-routing="broadcast" message-time-to-live="1" send-security-constraint="fooConstraint" subscribe-security-constraint="barConstraint" subscription-timeout-minutes="1" subtopic-separator="/" throttle-inbound-max-frequency="500" throttle-inbound-policy="ERROR" throttle-outbound-max-frequency="500" throttle-outbound-policy="IGNORE" />
The message-broker
attribute is a reference to the id of a Spring-managed MessageBroker
. The channels
attribute allows
you to specify a comma-delimited list of the BlazeDS channels to be used (in order of preference) for this destination. The remaining attributes correspond
to the options available via the network
and server
settings when configuring a message destination in the BlazeDS-specific XML.
Each of these additional attributes is documented in the XSD to provide live code-completion assistance. For additional details on their usage, see
the BlazeDS documentation. The message-destination
tag serves as a base for the jms-message-destination
and
integration-message-destination
tags so that the same configuration options are available no matter the type of the underlying
MessagingAdapter
.
The only attribute available on the message-destination
tag that is not available in the JMS and Spring Integration implementations is the
service-adapter
attribute, which can be used to provide a custom ServiceAdapter
via a reference to a
ManageableComponentFactoryBean
. This can be used to provide integration with additional messaging protocols not directly supported by
Spring BlazeDS Integration. See Providing Custom Service Adapters for additional information on using the
ManageableComponentFactoryBean
.