Github user clebertsuconic commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/2115#discussion_r191779067
--- Diff:
artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPMessage.java
---
@@ -606,22 +606,36 @@ public String getAddress() {
@Override
public AMQPMessage setAddress(String address) {
- this.address = SimpleString.toSimpleString(address,
coreMessageObjectPools == null ? null :
coreMessageObjectPools.getAddressStringSimpleStringPool());
+ internalSetAddress(address);
+ setProtonAddress(address);
return this;
}
+ private void internalSetAddress(String address) {
+ this.address = SimpleString.toSimpleString(address,
coreMessageObjectPools == null ? null :
coreMessageObjectPools.getAddressStringSimpleStringPool());
+ }
+
@Override
public AMQPMessage setAddress(SimpleString address) {
this.address = address;
+ setProtonAddress(address.toString());
--- End diff --
if the user don't want to change the address. just leave the message
alone..
if the user calls reencode. it will be the user's responsibility to make
the change. I don't think we should be that strict.
We don't change the address unless the message is being copied. the user
has the option to do it themselves.
---