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)
Fixing durable sync over a network bridge so that network subscriptions
that are no longer permissible are also cleaned up
(cherry picked from commit a038655605e8fa1de279b37989ba69a68f83c601)
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)
Fix up the Memory Store such that it removes the references it adds to
messages when they are placed into the memory durable topic subscription
store.
(cherry picked from commit bb8d32c04aa06735d0036963685a4bc41fcbaad7)
The JDBCMessageStore now checks hasSpace() when running a message
recovery listener to prevent going past the max configured page size
(cherry picked from commit b9fad53fc650a9026391bef0fd74aea1bea7ec1b)