The default behavior by the OpenWire client will be to send generic
platform details to the server with a new flag to send more specific
information.
(cherry picked from commit 5fa0bbd515)
Use the client built in close timeout instead of the executor which can
leave threads running and causes the tests to take much longer than
needed.
(cherry picked from commit ce551cf97d)
When sending STOMP frames out over WS the marshal isn't doing a proper
encode based on the STOMP version in use and so header values can be
transmitted without proper escaping.
(cherry picked from commit 2490c85fc5)
The handshake now takes place inside of the async task that timesout so
that if the SSL handshake takes too long the connection attempt will
honor protocolDetectionTimeout and actually timeout. Also, change the
default of protocolDetectionTimeout to 30 seconds so it matches the rest
of the broker's default connection timeout settings.
(cherry picked from commit 2a0b785a04)
Need to preserve the messages in the dispatched list when a
client-individual ack comes in so that on abort the state remains
dispatched and the message can still be ack'd
(cherry picked from commit e83bb6dc38)
Correctly ACK inside a TX and then Abort and then ACK again outside a TX
to show that the broker will then mark the message as consumed.
(cherry picked from commit bd8661796b)
Fix handling of incoming MQTT binary data over WS. The handler should
use the MQTTCodec to ensure that partial or packed frames are fully
processed
(cherry picked from commit e69367fbc3)
Honor the sender settle mode from the client and ensure we always set
receiver mode to FIRST to reflect we don't support SECOND. Adds tests
coverage and needed test client changes for this.
(cherry picked from commit 381a1ae206)
Fixing potential NPE when calling updateMessage on a Queue store in
KahaDB if subscription statistics are enabled. Also reduced the
visibily from public to protected to subscription statistic related
methods that shouldn't be public and added null pointer checks there as
well.
https://issues.apache.org/jira/browse/AMQ-6642
(cherry picked from commit 2731f04f1c)
Switching MessageDatabase to store JournalSyncStrategy as its enum value
instead of String to avoid the performance penalty of comparing Strings
everytime isEnableJournalDiskSyncs() is called which currently happens
on every write.
(cherry picked from commit 0d824a8e68)
Track the message producer create and ensure it is not recreated on
failover if the creation resulted in an error response. Add failover
level tests to cover consumer and producer failed create tracking.
(cherry picked from commit 90b808ab98)
On network connector add or update after broker start (such as the
runtime plugins) the mbean was not created. There was also a couple of
other properties not set. Fixed the network connector start to be the
same for normal broker start and runtime reload.
(cherry picked from commit bab0887ed6)
Fixing a race condition in TaskRunnerFactory where if multiple threads
call createTaskRunner() at the same time some threads might see the
executor as null (if it hasn't finished initializing) leading to the
creation of extra DedicatedTaskRunner objects instead of sharing a
PooledTaskRunner.
(cherry picked from commit fe5164a404)
The soTimeout value needs to be applied to the TcpTransport as well as
the socket because the NIO transports use the value later on when
establishing a connection
(cherry picked from commit f6bf823ded)