Properly decrementing the message reference count in
DemandForwardingBridgeSupport when messages supression is checked for
durable subscriptions
(cherry picked from commit 406a34294befca4ba2de4b728c86f64b96a94945)
Better interop for MapMessage with Binary value in the entries of the
payload, should convert back and forth the byte to allow Message to be
treated as a MapMessage and not fall back to a BytesMessage encoding.
(cherry picked from commit d88c4e46ecffdba0040299df6efbcdc4171d1c3d)
Ensure that unsettled TX messages remain acquired and not redelivered to
the receiver. Add several tests that demonstrate that a received
message can be released, rejected, accepted or modified after a TX
rollback if it was not settled.
(cherry picked from commit 0dd806f43f3bee9372ee9b9481089d417c265dfe)
Add a new test for encode / decode validation. Fix issue where the
internal scheduled message properties were escaping into the outbound
message.
(cherry picked from commit b1a9a9382b837fb8cff7f9586c7f9516675bf78a)
JMS Transformer performance improvements and bug fixes
Trim unnecessary code and improve overall performance of the JMS
Transformer codecs. Remove legacy Qpid JMS client related code from the
transformer as these are no longer supported. Fix outgoing message that
do not match the structure of the incoming message that created them such
as message with had only a body being sent out with Headers and message
Properties.
(cherry picked from commit 63d62a71f59ec485ac79e1ce40e98316d37ca14a)
The test I'm adding was back ported from Artemis.
It will validate if the ACKs are nacked in case of a connection.close();
To avoid a situation where the TX would sit on a Transaction Resource Manager somewhere like an XID.
Adds ability to not settle accepted messages on the client to enable
creation of tests that are equivalent to the AmqpNetLite client's
transaction tests which hold settlement and expect the resource to
handle it on successful discharge.
Adds some transaction tests ported from AMQP .NET client with some
variances based on the way the test client works and limitations in the
brokers handling of Transacted sends.
Adds support for doing sends and receives that are enrolled in a
transaction created in a session other than the session that created the
sender or receiver. Adds some tests that show this in action.
The test client can allow for quick tracing of the frame traffic via a
call to setTraceFrames on the client or connection instance before
connection to the remote. This allows for tests to easily switch on /
off tracing. The log4j.properties is also updated to output frame
tracing with the URI option is put on the AMQP transport or the client
value is enabled.
Conflicts:
activemq-amqp/src/test/resources/log4j.properties
I've made a few minor test changes and added a couple more cases. Under
heavy CPU load I'm able to get test,
testReceiveMessageAndRefillCreditBeforeAcceptOnQueue to fail on the
second receive call where it should get the second message since it
granted credit.
The temporary store will now delete the old temp directory on start up
if lazyInit is true instead of waiting for the store to initialize to
clear up space. This prevents space on the disk from being wasted with
old data if the temp store isn't initialized
(cherry picked from commit a82c95cd29a6b06d2083b1869129b9e2addac7da)
Fixing BitArrayBin to not overflow in certain cases with numbers larger
than Int max
(cherry picked from commit 09456480b838efd97297679840d33f7949449e21)
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)
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)
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)