Better handle prefetch extension and pull consumers over Topics to avoid
the remote not receiving all the messages available based on the credit
it has issued.
(cherry picked from commit e050519ff6ae8079c5183f6e6372ddb3d03e91c7)
Fixing the auto transport protocol detection so that the byte buffer
that captures the initial bytes for detection is not shared across
threads. This was causing failed connections under high load and high cpu
usage under NIO
(cherry picked from commit 7e648d512d06508d85f6a4e111d9adbdb9e33a82)
Adding a new ActiveMQXASslContextFactory and jndi support for it
in ActiveMQSslInitialContextFactory
(cherry picked from commit 016ae05d0e2697fe53db276d8e6f098d2e9f6f05)
ReduceMemoryFootprint now applies to non-persistent messages if they
have been marshalled and topics now clear memory after the recovery
policy check
(cherry picked from commit 7c3bb401007b4047c540287b53b435b20d3161c0)
Durable sync over a network bridge will now also sync non-durable
subscriptions proplrly if the consumer belongs to a destination that is
configured to force network durable subscriptions.
(cherry picked from commit d206621a73e4731b00eff49518ea93ba9a4ee3c0)
Properly decrementing the message reference count in
DemandForwardingBridgeSupport when messages supression is checked for
durable subscriptions
(cherry picked from commit 406a34294befca4ba2de4b728c86f64b96a94945)
Modifying patch so that only stores that persist the noLocal flag will
check if this flag has changed to prevent a subscription from being
deleted by mistake
(cherry picked from commit 18571ce09b6385d8560200928a353e9da1a1ffe4)
When a nolocal durable consumer reconnects the new connectionId is properly captured for
the NoLocal expression so that nolocal works on reconnect. Also fixed
the detection of the nolocal value changing on consumer connect.
(cherry picked from commit 7c293b661f22245ce21bf2b5aa1c5bf4192cb8c5)
Fixing durable sync over a network bridge so that network subscriptions
that are no longer permissible are also cleaned up
(cherry picked from commit a038655605e8fa1de279b37989ba69a68f83c601)
Properly copying wire format options map before applying to the
transport when using auto transports so that the options do not get
cleared and will be used for all future connections
(cherry picked from commit 9ab94883a8ba88aeeb0a16e2310ab42a46de1d05)
Properly setting the transport properties on the
AutoNIOSSLTransportServer and fixing the Stomp protocol to set the peer
certs when using auto+ssl
(cherry picked from commit 98c5866c7534c1f26d2e41edbdb372fe21387fe4)
Changing the nio+ssl transports to trigger a serviceRead after start up
to prevent blocking. The prevents the channels from not reading in
certain cases, most notably with the auto+nio+ssl transport when used
for a network bridge. Also added a couple tests and changed a network
bridge test to test out auto+nio+ssl.
(cherry picked from commit ed0e786b6002633411037923fb28a075489e442b)
Fix up the Memory Store such that it removes the references it adds to
messages when they are placed into the memory durable topic subscription
store.
(cherry picked from commit bb8d32c04aa06735d0036963685a4bc41fcbaad7)
The JDBCMessageStore now checks hasSpace() when running a message
recovery listener to prevent going past the max configured page size
(cherry picked from commit b9fad53fc650a9026391bef0fd74aea1bea7ec1b)
Adding non-blocking metrics to KahaDB to track message counts and sizes
for subscriptions. Turned off by default but can be enabled on the
KahaDBPersistenceAdapter
Adding a new OpenWire command called BrokerSubscriptionInfo in order to
help synchronize durable subs across a network bridge. Added OpenWire
version 12. For dynamicallyIncludedDestination durable subs will now be
synchronized on a bridge reconnect as long as the bridge supports
conduitSubscriptions and dynamicOnly=false