Ensure that a message sent to the store for the DLQ is rewritten so that
its updated values are written to prevent exirpation loops and loss of
reollback cause etc.
(cherry picked from commit 505a76a8bb)
AMQ-6122
Prevent messages on DLQ for looping back onto the same DLQ. Prevents
expired messages from bouncing back and duplicate messages from the
store from causing a deadlock.
(cherry picked from commit 66cfc7bab3)
Fixing file permissions in assembly tar. Some permissions were not
being set explicitly which means the value used could change depending
on where the assembly was built. Permissions are now being set to fix
this.
(cherry picked from commit 43d493e527)
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 8e2176d93c)
Fixing JournalCorruptionEofIndexRecoveryTest class
Because of the size being stored in the message order index, the test
testRecoveryAftercorruptionCheckSumExistingIndex was no longer passing
as that test was corrupting the size value in the journal, but not the
size value in the index. The test now corrupts both values so that the
expect exception occurs again.
(cherry picked from commit 507d40a79f)
Fixing KahaDB so that the correct marshaller is used for the message
keys inside of the message order index. This will ensure that message
size metrics are accurate.
(cherry picked from commit 246ccb8e04)
The JavaRuntimeConfigurationBroker can now apply a subset of policy
properties retrospectively to existing destinations versus applying
all properties of the policy update.
(cherry picked from commit a253ad3c71)
The runtime plugins will now find the exact policy to update which means
that a destination can match more than one policy and the policy can
still be updated at runtime.
The java runtime broker also supports the ability to replace or add a
policy entry based on a flag on a new method call.
(cherry picked from commit 9e7fae0d83)
Propertly re-setting the storeOpenWireVersion from the BrokerService
on the KahaDB Metadata if a corrupted index is detected and the
Metadata has to be recreated.
(cherry picked from commit 7a7c70ad75)
Make the transportConnector configs consistent across all four variants
by removing the enableCipherSuites option on openwire NIO+SSL. RC4 was
enabled on the broker side but in later JDK releases that suite is
disbaled as it is insecure so the client side couldn't find a supported
suite.
(cherry picked from commit 315147c5ef)
WSServlet for websockets will attempt to detect the subprotocol
requested and respond with the appropriate one. Currently the protocols
loaded are what stomp.js use for stomp (v11.stomp and v12.stomp).
If a protocol can't be found then a default will be returned, either
"stomp" or "mqtt", which is the same behavior before this patch.
This will make it a bit easier to use stomp over websockets out of the
box as stomp.js will work by default.
(cherry picked from commit 913f64476b)
Updated QueueBrowserSubscription to use a ConcurrentMap to avoid a
potential race condition when multiple queue browsers browse
multiple queues.
(cherry picked from commit d346a765e3)
Fixed contains method in PrioritizedPendinList which was not returning
correctly. This was causing messages to not be removed from the
dispatchPendingList when purge was called inside a Queue leading to an
eventual OOM error if enough messages were purged. This fix also
improves performance of the contains method.
(cherry picked from commit 8363c99b51)