Ensure that the connection check task is stopped once commands pass
through the inactivity monitor to prevent the transport from being
closed for no reason.
(cherry picked from commit e47edd7a282e1391f480c1278555f4a86e9a8ea9)
Ensure the constructors pass along the default value as read from system
property if set.
(cherry picked from commit 3e7847aeada26bf147ca297e79995d43e74fc97d)
https://issues.apache.org/jira/browse/AMQ-5534
PooledConnectioFactory added reconnection support but can break if the
holder of the connection adds their own ExceptionListener as the
PooledConnection doesn't protect the internal ExceptionListener from
replacement which leads to cases where the loaned Connection is not
automatically closed so that the next create returns the same failed
connection.
(cherry picked from commit b65c0d1be4b0812229d3f166e50d963766856c53)
https://issues.apache.org/jira/browse/AMQ-6254
Store the original subscribed destination along with the target
destination in the subscription info object to ensure that wildcard
subscriptions remain linked.
(cherry picked from commit b027e655538226b56f1fe277a426e0df41501fc6)
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
Moving beforeMarshall back to the store implementations because we don't
want all store implementations to marshall (such as memory store)
This reverts commit 32913408a68ec92e3d202f5dcc3923d5c7d7588a.
Reverting the change to move clearMarshalledState into the callback
listener as beforeMarshall is now called before the async message add
Revert 7f5c09f2d77c77f87a47fb738870c5ee5bc78c27
Only apply the initialReconnectDelay on the first reconnection attempt
after a connected transport has failed.
(cherry picked from commit c8af70f0949e38270b313b7b8ce305c5870362da)
Calling beforeMarshall on messages when they async stored before the
store task is run and before consumer dispatch to prevent two threads
from trying to mutate the message state at the same time.
(cherry picked from commit b9f9f03829a65efa2956c347d2cafa41905313c6)
Update for some added thread safety. Adds method healthStatus that will
regenrate the status from the healthList data which is more intuitive
than the getCurrentStatus which doesn't update state and requires
periodic calls to healthList to capture current metrics.
(cherry picked from commit 19fd084a83c990f9fb75a5f2becb48ac808a1b36)
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)
Adding a flag to enable or disable Ack Compaction
Currently defaults to enabled for 5.14.0 and above
(cherry picked from commit cbad8babe507f63cc80e42fe37070b898d4d8dbc)
Expose configuration on the persistence adapter level.
Double the test timeout and increase the compaction frequency to account
for very slow CI boxes.
(cherry picked from commit a9521dcebfb4e469dde7465ff95d8e8f1f050abd)
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)
Disabling async queue message store when persistJMSRedelivered is turned
on for a destination. That flag will cause a sync update later on
dispatch which can cause a race condition if the original message add is
processed after the update. This can cause a duplicate message to be
stored.
(cherry picked from commit b2327db3b79dffd42fd5c6ba85720a5d9c302052)
Moving clearedMarshalledState execution to the async listener on an
async add to the message store. This is necessary to make sure this
logic doens't execute until after the message is marshalled for the
store.
(cherry picked from commit 75990ef14a092b629bf8d2127bc4786e51b31684)
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)
Fixing ReloadableProperties so that the groups file will be properly
reloaded on file modification. Added a test to verify.
Thanks to Nanchang Yang for providing the fix.
(cherry picked from commit 2788bd55845d35ffb753f20ea1fee9711e85fe43)
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
Adding spring-messaging to the artifactSet for activemq-all to be
included inside the shaded jar
(cherry picked from commit 4bd9a4ef6f29399ebde61275db75cf8d5d323ffc)
Perform writes / sync in predicatable order first to the recovery file
and then into the main index file.
(cherry picked from commit b39ab7867c208a967090eff189594c2b06dafb34)
Fixing the removal logic on virtual destination remove inside of
Advisory Broker to clean up virtual destination maps properly. Added a
test to verify. Also added new debug logging to help track down any
future issues.
(cherry picked from commit a2781e3966ded41a241d24ffb8d85d410c39eb21)
Upgrading Saxon version to fix xpath filter errors when using Camel
Thanks to Jamie Goodyear for the patch
(cherry picked from commit d89826bdab820bd399180c3c150cef9d82af3565)
Reworking patch so that the http trace method is also turned off by
default for the HttpTransport, besides just for the Websocket transport.
Also added SSL tests for both transports.
(cherry picked from commit 473b3284d42613b117bd5103d59435ab46f0c420)
Disabling the HTTP trace method on the websocket port by default. It
can be enabled by setting the parameter "http.enableTrace=true" on the
connection uri if it is needed for debugging.
(cherry picked from commit 4fb808397759b5569f8e8b49a486026aeaeecac2)
Create a proper SSLContext for the MQTT client provider in the tests to
avoid failure on newer JDKs
(cherry picked from commit 6e2edf08c3e3dda7656dffa1af8c92b6ed333c22)
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)