ARTEMIS-1616 OpenWire improvements
Used SimpleString on AMQSession with HDR_DUPLICATE_DETECTION_ID and CONNECTION_ID_PROPERTY_NAME
This commit is contained in:
parent
9650c80ba7
commit
e7a1dca7b5
|
@ -370,14 +370,14 @@ public class AMQSession implements SessionCallback {
|
||||||
|
|
||||||
final org.apache.activemq.artemis.api.core.Message originalCoreMsg = getConverter().inbound(messageSend, coreMessageObjectPools);
|
final org.apache.activemq.artemis.api.core.Message originalCoreMsg = getConverter().inbound(messageSend, coreMessageObjectPools);
|
||||||
|
|
||||||
originalCoreMsg.putStringProperty(MessageUtil.CONNECTION_ID_PROPERTY_NAME.toString(), this.connection.getState().getInfo().getClientId());
|
originalCoreMsg.putStringProperty(MessageUtil.CONNECTION_ID_PROPERTY_NAME, SimpleString.toSimpleString(this.connection.getState().getInfo().getClientId()));
|
||||||
|
|
||||||
/* ActiveMQ failover transport will attempt to reconnect after connection failure. Any sent messages that did
|
/* ActiveMQ failover transport will attempt to reconnect after connection failure. Any sent messages that did
|
||||||
* not receive acks will be resent. (ActiveMQ broker handles this by returning a last sequence id received to
|
* not receive acks will be resent. (ActiveMQ broker handles this by returning a last sequence id received to
|
||||||
* the client). To handle this in Artemis we use a duplicate ID cache. To do this we check to see if the
|
* the client). To handle this in Artemis we use a duplicate ID cache. To do this we check to see if the
|
||||||
* message comes from failover connection. If so we add a DUPLICATE_ID to handle duplicates after a resend. */
|
* message comes from failover connection. If so we add a DUPLICATE_ID to handle duplicates after a resend. */
|
||||||
if (connection.getContext().isFaultTolerant() && !messageSend.getProperties().containsKey(org.apache.activemq.artemis.api.core.Message.HDR_DUPLICATE_DETECTION_ID.toString())) {
|
if (connection.getContext().isFaultTolerant() && !messageSend.getProperties().containsKey(org.apache.activemq.artemis.api.core.Message.HDR_DUPLICATE_DETECTION_ID.toString())) {
|
||||||
originalCoreMsg.putStringProperty(org.apache.activemq.artemis.api.core.Message.HDR_DUPLICATE_DETECTION_ID.toString(), messageSend.getMessageId().toString());
|
originalCoreMsg.putStringProperty(org.apache.activemq.artemis.api.core.Message.HDR_DUPLICATE_DETECTION_ID, SimpleString.toSimpleString(messageSend.getMessageId().toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
final boolean shouldBlockProducer = producerInfo.getWindowSize() > 0 || messageSend.isResponseRequired();
|
final boolean shouldBlockProducer = producerInfo.getWindowSize() > 0 || messageSend.isResponseRequired();
|
||||||
|
|
Loading…
Reference in New Issue