Merge pull request #1842 from jbertram/2.4.x

Duplicate ID cache clean-up
fixing broken test
Merge pull request #1846 from clebertsuconic/2.4.x

fixing broken test
upgrade version to 2.4.4.Final
Revert "upgrade version to 2.4.4.Final"

This reverts commit 7863eb4e52d1148c8477566ab9c1332378d69133.
Merge pull request #1857 from andytaylor/2.4.x

version update for 2.4.x release
https://bugzilla.redhat.com/show_bug.cgi?id=1143818 - reset connected flags after failover
Merge pull request #1864 from andytaylor/2.4.x

https://bugzilla.redhat.com/show_bug.cgi?id=1143818
fixing test based on master
Merge pull request #1866 from clebertsuconic/2.4.x

fixing test based on master
BZ-1146506 & HORNETQ-1287  Message does not expire when it is diverted to another queue

https://issues.jboss.org/browse/HORNETQ-1287
https://bugzilla.redhat.com/show_bug.cgi?id=1146506

Diverts were not setting the expiry message during any type of divert.
It seems this was an initial design decision but I don't see a reason why
expiry should be removed between routing and diverting.
Besides this we also fixed the case where the original queue wasn't set
during divert and expiry.
Merge pull request #1874 from clebertsuconic/2.4.x

BZ-1146506 & HORNETQ-1287  Message does not expire when it is diverted to another queue
updating bytemant to the latest (2.2.20)
BZ-1149936 HORNETQ-1427 Avoid orphaned consumers

https://issues.jboss.org/browse/HORNETQ-1427
https://bugzilla.redhat.com/show_bug.cgi?id=1149936

We have been reported about orphaned consumers cases.
The only cases where I saw this possibly happening was during a hypotethical
exception during server.close() or during a temporary blocking client (thread waiting to lock)

To avoid that I'm now removing connections at the end of loops and making the exception treatment
per consumer, so if any exception happened we will continue closing. at the worst case the connection
will still be on the maps and this won't be na issue any longer.
Merge pull request #1894 from clebertsuconic/2.4.x

BZ-1149936 HORNETQ-1427 Avoid orphaned consumers
test fix on TemporaryQueueTest

The test is now closing connections at the end. the previous assertion needed to be adapted
Merge pull request #1897 from clebertsuconic/2.4.x

test fix on TemporaryQueueTest
BZ-1152410 - handle rollback called twice

https://bugzilla.redhat.com/show_bug.cgi?id=1152410

There are 2 parts to this, firstly make sure that if the call to rollback fails make sure that the session and consumers re restarted.

secondly at the server make sure that we dont cancel the refs and add them to the already rolled back tx, we should handle them separately and rollback on to the queue in a new tx.
Merge pull request #1913 from andytaylor/2.4.x

BZ-1152410 - handle rollback called twice
HORNETQ-1437 Keep JNDI when destroying JMS queues

Change the semantics of the destroyTopic(java.lang.String, boolean) and
destroyQueue(java.lang.String, boolean) methods on
org.hornetq.api.jms.management.JMSServerControl so that if false is
passed as the second parameter (which means that consumers connections
should not be closed) and consumers are attached to the topic/queue
then the JNDI bindings are not removed.