Fixing Scheduler so that a rescheduled task will first cancel the
existing task so it does not get orphaned from the task map. Also
fixing Topic start so that it will only start once and not twice.
(cherry picked from commit 2769298cf64a10cd74320ad132b3677bac20a6cc)
Fixing the auto+nio+ssl transport so that the protocol detection task
will properly terminate on timeout and not continue to run. Also
lowered the default detection timeout to 15 seconds instead of 30
seconds to match the InactivityMonitor default.
(cherry picked from commit 27238b2dd790cea38d95da46b23ed141f5847782)
Adding a new ActiveMQXASslContextFactory and jndi support for it
in ActiveMQSslInitialContextFactory
(cherry picked from commit 016ae05d0e2697fe53db276d8e6f098d2e9f6f05)
State variables shared across threads in the transport need to be marked
volatile.
(cherry picked from commit 629ee285685b5f63315c8fcd6138a37bd17b958d)
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)
Fixing BitArrayBin to not overflow in certain cases with numbers larger
than Int max
(cherry picked from commit 09456480b838efd97297679840d33f7949449e21)
Generating a new equals method in TypeConversionSupport so the proper
null checks exist
(cherry picked from commit 2b99ffcc22e8c982883ae553bd91d03acc68aaa2)
Rewriting logic in finally block of PooledTaskRunner to avoid using a
return statement
(cherry picked from commit f25e7ab47f1bed223e30fc85afbe43ba1f4c93e6)
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)
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
Ensure that when expired messages are handled client side that pull
consumers get a chance to see it and send a new pull request complete an
outstanding timed pull.
Fixing a race condition in ActiveMQMessageConsumer that could cause a
NPE when the consumer is closing by only modifing pendingAck inside of
the deliveredMessagesMutex
Thanks to Michael Wong for providing the test case for this issue.
Fixing a race condition in ActiveMQMessageConsumer that could cause a
NPE when the consumer is closing
Thanks to Michael Wong for providing the test case for this issue.
Better management of shared resources between the background run thread
and the main start / stop thread. Makes sure to cleanup all resources
before finally throwing on stop to prevent leaking and resources.