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)
Fixing X-Frame-Options header so that is applied for all content served
by Jetty. The previous patch wasn't correct because it only applied it
to Servlets and JSPs and not static content. This also reverts AMQ-6113
(cherry picked from commit 24ad36778534c5ac888f880837075449169578ad)
Only setting the socketBufferSize in TcpTransport if the value is
greater than 0 as other values are illegal.
(cherry picked from commit 90726a60afffa0bff6db74b15340152ebe1d5082)
Computing messageSize for a durable subscription in KahaDB now runs much
faster (n vs n^2) which is noticable when there are a large number of
pending messages for a durable subscription.
(cherry picked from commit 25ff5699f1fb7c73668d5da2eacb53ad2ef14289)
Ensure that when add / remove commands are colocated they don't prevent
the log from being GC'd once it is unreferenced.
(cherry picked from commit 8c4b5f485d64caec97b0abe2b721d47bc19bfba1)
Fixing a race condition that exists in the decompress method of
ActiveMQBytesMessage that can cause an invalid length to be read.
(cherry picked from commit 5f7a81f9280fb65b8a3c1f85c4570a18d87fafd9)
- recoverSubscription()
-- map is defined as LinkedHashMap<MessageId, Message>
-- msg is defined as <map> entry.getValue() so must be a Message
-- condition if (msg.getClass() == MessageId.class) could never be true
-- no need to cast at all when using generics
- recoverNextMessages()
-- basically same code copy/pasted so same fix
Removed 2 conditions from ServerSessionPoolImpl that would result in impossible casts. Conditions removed were trying to cast ActiveMQQueueSession and ActiveMQTopicSession to ActiveMQSession which is illegal.
Since it isn't obvious what to do if you get an ActiveMQQueueSession or ActiveMQTopicSession from getServerSession() I make it fall back to the else condition which raises an async exception. This is better than getting a ClassCastException at runtime.
Remove impossible cast in MemoryMessageStore
(cherry picked from commit 4a937def7db8d5f8229c95c05843f98de1803068)
This reverts commit 4ee29c363fbcc754f69ebc57b45f84a549f7d130.
We need to remove the dependency on Spring DM before doing this
(cherry picked from commit 7eb25ec50bd3af931c6ae876d9f7bef09385ba43)
Adding ACTIVEMQ_USER_CLASSPATH to make the ActiveMQ classpath more
extendable by users. Also fixinng the classpath parsing to use the
right path separator dependening on the environment.
(cherry picked from commit e0ad700f2c886527614a7591f4ca68a897bb8063)
Switching the version for Spring in features-core.xml to allow Spring
4.x versions.
(cherry picked from commit 4ee29c363fbcc754f69ebc57b45f84a549f7d130)
Fixing the processing of KahaUpdateMessageCommand to add the message to
the store if it doesn't exist, instead of ignoring it. This will
prevent message loss in certain cases when the KahaDB index has to be
rebuilt.
(cherry picked from commit b4aa53d806570a4f054dc0af9cb095f13b914153)
Added configure method to EmbeddedActiveMQBroker
Added support for XBean configuration
(cherry picked from commit da3b1380234c5d1745094f883778f19e58fe9cee)
Adding NetworkBridgeStatistics and also a received count for bridges
when they are in duplex mode.
(cherry picked from commit 10c998b0bc9728276a738ed24d20c6fc82c6365a)
Ensure that executor threads are created as daemon threads, fix a
try/finaly block, clean up some warnings.
(cherry picked from commit 5adbafef3b9ec05de7186caa9112f3639c7a6253)
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 505a76a8bb7180debbd36637dce1b9101150d0b4)
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 66cfc7bab3dfa2e079bbc5276312c97ab02cae4f)
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 43d493e527ccd7d940858646d37819d3bda0a806)