Starting with version 5.13.0, ActiveMQ supports wire format protocol detection. OpenWire, STOMP, AMQP, and MQTT can be automatically detected. This allows one transport to be shared for all 4 types of clients. Enabling AUTO over TCPTo configure ActiveMQ auto wire format detection over a TCP connection use the <transportConnector name="auto" uri="auto://localhost:5671"/> Enabling AUTO over SSLTo configure ActiveMQ auto wire format detection over an SSL connection use the <transportConnector name="auto+ssl" uri="auto+ssl://localhost:5671"/>
Enabling AUTO over NIOTo configure ActiveMQ auto wire format detection over an NIO TCP connection use the <transportConnector name="auto+nio" uri="auto+nio://localhost:5671"/> Enabling AUTO over NIO SSLTo configure ActiveMQ auto wire format detection over an NIO SSL connection use the <transportConnector name="auto+nio+ssl" uri="auto+nio+ssl://localhost:5671"/> Configuring AUTO Transport OptionsThere are some configuration options that can be set.
<transportConnector name="auto" uri="auto://localhost:5671?protocolDetectionTimeOut=5000"/> Configuring Wire FormatsOpenWire is the default Wire Format that ActiveMQ uses. It provides a highly efficent binary format for high speed messaging. OpenWire options can be configured on a JMS client's connection URI string or on a Brokers transport bind URI.
An example of a property that applies to all formats: <transportConnector name="auto" uri="auto://localhost:5671?wireFormat.maxFrameSize=1000"/>
An example of a property only applied to OpenWire would be: <transportConnector name="auto" uri="auto://localhost:5671?wireFormat.default.maxFrameSize=1000"/> Configuring Enabled Wire ProtocolsBy default all wire protocols are available. This can be configured to only enable certain formats by setting the property auto
An example showing only OpenWire and STOMP enabled: <transportConnector name="auto" uri="auto://localhost:5671?auto.protocols=default,stomp"/> |