Ensure the constructors pass along the default value as read from system
property if set.
(cherry picked from commit 3e7847aeada26bf147ca297e79995d43e74fc97d)
Prevent conccurent calls to handleTransportFailure from closing an
already reconnected transport instance.
(cherry picked from commit 23a5beb86c3dac151ae3ed242ce506aa0048bd03)
Conflicts:
activemq-client/src/main/java/org/apache/activemq/transport/failover/FailoverTransport.java
Only apply the initialReconnectDelay on the first reconnection attempt
after a connected transport has failed.
(cherry picked from commit c8af70f0949e38270b313b7b8ce305c5870362da)
Don't log the pull timed out messages that might still be in the
unconsumed list during rollback of unconsumed messages
(cherry picked from commit aaecdff8b485dc1baf84110375d4b9ffa6f68c19)
Moving the bytes copy to the parent Message class to solve this this
issue for all message types as that is the root cause
(cherry picked from commit e69c2cbad6611fa355bd9eb592f03bd3b8f90abb)
Synchronizing ActiveMQText message on state changes for the content and
text fields so that they are always changed together. This will prevent
race conditions where data can be lost when using concurrent store and
dispatch.
(cherry picked from commit e0c549996479c2a1ccf70029ad4462cb987650f6)
Fixing copy method of ActiveMQTextMessage to prevent a race condition
when concurrent store and dispatch is used with Queues
We may need explicity synchronization between the text and content fields
in the future if other issues pop up
(cherry picked from commit ea09159a4087212964787e7cf68ef30170d115f0)
Update the threads created by the SelectorManager to be daemon threads.
(cherry picked from commit e2b4ca2c59a316be91cf391c758a10e518dd3a1f)
Conflicts:
activemq-client/src/main/java/org/apache/activemq/transport/nio/SelectorManager.java
Fixing CronParserTest so that it checks 24 hour format properly when
using a timezone shifted by 30 minutes
Thanks to Jamie Goodyear for the patch
(cherry picked from commit 0f445a535f8ec1135d6769a9e7c1503fd7b26121)
Only setting the socketBufferSize in TcpTransport if the value is
greater than 0 as other values are illegal.
(cherry picked from commit 90726a60afffa0bff6db74b15340152ebe1d5082)
Fixing a race condition that exists in the decompress method of
ActiveMQBytesMessage that can cause an invalid length to be read.
(cherry picked from commit 5f7a81f9280fb65b8a3c1f85c4570a18d87fafd9)
Ensure that executor threads are created as daemon threads, fix a
try/finaly block, clean up some warnings.
(cherry picked from commit 5adbafef3b9ec05de7186caa9112f3639c7a6253)
The chooseValue method in DestinationMap will now always return the
exact match, if there is one, else it will then sort as before.
(cherry picked from commit 8e2176d93c95d847c813f54d54aaf9bafba4d5c4)
Making new values in ActiveMQObjectMessage transient which fixes HTTP
serialization
(cherry picked from commit b9dcb010f74675f6369f7e74b931b670e0ecab51)
Adding support for consumers on virtual destinations to create network
demand. This behavior is turned off by default but can be enabled.
For example, if a consumer comes online for a queue that is part of a
VirtualTopic, this will cause a network of brokers to forward messages
because a demand subscription will be created. Same for if a consumer
comes online for a forwarded destination from a composite
destination.
There is also an option to enable flow based on the existence of a
virtual destination if the virtual destination is forwarding to a
Queue.
Full configuration instructions for this feature will be on the wiki page.
Calling socketHandlerThread.interrupt() on TcpTransportServer stop to
make sure the broker shutsdown cleanly.
Patch applied with thanks to Erik Godding Boye