disabling failed assertion for test as it is expected based on how this
test is usin the client
(cherry picked from commit 667ea7c640dd0203b2ecdc83f74435e77cbe44ab)
The MQTT transport will now throw an exception if a PINGREQ is sent to
the broker if a CONNECT packet has not been received first as the spec
says CONNECT must be the first packet sent.
(cherry picked from commit 6dacef1c9552edbad656c31d784179c2cd179b2e)
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.
(cherry picked from commit c02bc648460059b6dbc201fa21b7ee0ce2445082)
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.
(cherry picked from commit 6bfa13b6e707fb3465a9193cd44c478514fcd948)
Lower prefetch on settlement of allow for dispatch of the full amount of
granted credit. Adds additional tests.
(cherry picked from commit db71b43b19e24019fe7ef08dd80d53998b9eec9b)
Refactor credit handling and drain state tracking to ensure we stay in
sync with the remote state and always answer drain requests. Start
adding some more tests around drain to the interop suite.
(cherry picked from commit 8448cf1cb886b242b54235b091259acbf43c2108)
Add test and supporting enhancements to the JUnit module to allow for
easy repetition of tests that don't always fail reliably
(cherry picked from commit 6ae169e2755257b1e8e5068473bdb3156160790d)
On MQTT Websocket close, a LWT message will be properly sent if
configured and a disconnect packet was not received
(cherry picked from commit bd442a3388b0f127c8f8b9fad5e4888b77bb42c3)
Prevent concurrent access to the MQTT protocol handlers which can lead
to a tansport level deadlock
(cherry picked from commit 96494f74c7142c3396f17696f345c2355c16a61c)
Fixing an issue that caused statistics for a transactional temporary
queue to be updated twice by mistake. Moved the statistics update into
tryOrderedCursorAdd so that the update is called immediately only if
not inside a transaction.
(cherry picked from commit 903dec615c7932475bd3e6cd869af25f01de64b2)
Checking for the correct number of arguments before reflectively
invoking a method in DefaultAuthorizationMap
(cherry picked from commit 6be36305f6669ded47bcd33016583a86bdda04dd)
Checking for leading wildcard in the prefix for a virtualtopic,
modifying the behavior of shouldDispatch in the VirtualTopicInterceptor.
(cherry picked from commit 6bf5987921f6fdb6844652bb77e2fc14b002ccf2)
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.
(cherry picked from commit ff99872263981982bb1ebce93c07bfb8a28d4a06)
Conflicts:
activemq-client/src/main/java/org/apache/activemq/transport/tcp/TcpTransportServer.java
Close failed connection on start if the reconnect on exception flag is
enabled.
(cherry picked from commit 2e64abc38a0605f31fc47a89c8313f29cc72c170)
Conflicts:
activemq-jms-pool/src/test/java/org/apache/activemq/jms/pool/PooledConnectionSecurityExceptionTest.java
Added an extra isShutdown() failsafe check when detecting if the
checkpoint thread should start
(cherry picked from commit 91213010b30d426095c16d3fa8d5fa2cafaf05e5)
Properly nulling out the scheduler service in MessageDatabase after it
is shutdown on a store close so that if the store is restarted the
thread will properly restart.
(cherry picked from commit 7bdcca1bdacec4955c55e8717ac8d61cc51b0c69)
Added two new properties for configuration to a network bridge,
advisoryPrefetchSize and advisoryAckPercentage. By default
advisoryPrefetchSize is set to 0, which is disabled, and will use the
prefetchSize value unless otherwise set. Also added validation to
prefetchSize to make sure it is greater than 0 as 0 is not allowed.
(cherry picked from commit 297eadf7461fe4043c81c6f8d806a7c61b680731)
Make field volatile since it is written to outside of any locks and read
both in and out of locking.
(cherry picked from commit 8031d77f984e4d3c54782dd4934f48b35cf16c00)
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.
(cherry picked from commit 4d6f4d74755d6c9985078766fce2eba95d9bbb6a)
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)