This closes #781
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientProducerImpl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientProducerImpl.java
index 107df64..baa59f5 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientProducerImpl.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientProducerImpl.java
@@ -266,7 +266,7 @@
largeMessageSend(sendBlocking, msgI, theCredits, handler);
}
else {
- sendRegularMessage(msgI, sendBlocking, theCredits, handler);
+ sendRegularMessage(sendingAddress, msgI, sendBlocking, theCredits, handler);
}
}
finally {
@@ -274,7 +274,8 @@
}
}
- private void sendRegularMessage(final MessageInternal msgI,
+ private void sendRegularMessage(final SimpleString sendingAddress,
+ final MessageInternal msgI,
final boolean sendBlocking,
final ClientProducerCredits theCredits,
final SendAcknowledgementHandler handler) throws ActiveMQException {
@@ -290,7 +291,7 @@
theCredits.acquireCredits(creditSize);
- session.checkDefaultAddress(address);
+ session.checkDefaultAddress(sendingAddress);
sessionContext.sendFullMessage(msgI, sendBlocking, handler, address);
}
@@ -491,7 +492,7 @@
msgI.putLongProperty(Message.HDR_LARGE_BODY_SIZE, deflaterReader.getTotalSize());
msgI.getBodyBuffer().writeBytes(buff, 0, pos);
- sendRegularMessage(msgI, sendBlocking, credits, handler);
+ sendRegularMessage(msgI.getAddress(), msgI, sendBlocking, credits, handler);
return;
}
else {