Encode the incoming messageId value into a string using type prefixes
and decode them on the way out to ensure that we preserve the original
AMQP MessageId type and value.
Account for Authzid in SASL PLAIN mechanism and provide a means to fail
the authorization if the challenge response is invalid. Update the
client to properly exclude sasl mechanism that don't apply to it's
configured credentials such as using only ANONYMOUS when no user or
password is set.
Fix for failed SSL connections not releasing the connection count in the
transport which leads to connections being rejected as having eceeded
the maximum configured connections.
When possible check for noLocl changes on durable subscription
reactivation and recreate the durable sub if it changes. For both
selector change and noLocal change also update the AbstractSubscription
selectorExpression so it matches with what was requested.
-Cleaned up missing license headers and refactored packages.
-Added configuration options for a protocol detection timeout and
for the max number of connections accepted at the same time.
-Fixed a regression with connection counts
-Also added some more tests
Adding support for auto detection of wire protocols over a transport.
OpenWire, AMQP, STOMP, and MQTT can all be detected and the broker
will properly handle each one over a given Transport. Currently
auto TCP, NIO, SSL, and NIO+SSL transports can handle auto-detection
of the wire format and client but support could be added in the
future for other transports like websockets.
Use the latest openwire version marshallers in the KahaDB store when
starting from a clean install, drop back to the version used in the
existing store if one is found.
Introduce OpenWire v11 which adds noLocal to the SubscriptionInfo, if
configured KahaDB can store that version and the noLocal value is
recovered from the store.
Add workarounds to allow for TX work to take place in multiple sessions
on the same connection. Future work needed to properly support TXN
Capabilities defined in the spec and support checking of violations of
expected behavior.
Add better support for maxFrameSize configuration that fits with the
defaults configuration for the broker by allowing the maxFrameSize to be
configured via ?wireFormat.maxFrameSize on STOMP, AMQP, and MQTT.
Previously we only supported transport.wireFormat.maxFrameSize.
Add unit test for case of JMS AMQP client changing properties on a
durable sub when resubscribing, not working with current version.
fix: Use existing filters map to avoind creating a new instance.