mirror of https://github.com/apache/activemq.git
Fixes problem /w amqp impl of message acks.
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1403459 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
afe73c1861
commit
7806807db1
|
@ -482,7 +482,7 @@ class AmqpProtocolConverter {
|
|||
final ActiveMQMessage message = (ActiveMQMessage) getInboundTransformer().transform(em);
|
||||
current = null;
|
||||
|
||||
if( message.getDestination()==null ) {
|
||||
if( destination!=null ) {
|
||||
message.setJMSDestination(destination);
|
||||
}
|
||||
message.setProducerId(producerId);
|
||||
|
@ -777,6 +777,7 @@ class AmqpProtocolConverter {
|
|||
ack.setLastMessageId(md.getMessage().getMessageId());
|
||||
ack.setMessageCount(1);
|
||||
ack.setAckType((byte)ackType);
|
||||
ack.setDestination(md.getDestination());
|
||||
|
||||
DeliveryState remoteState = delivery.getRemoteState();
|
||||
if( remoteState!=null && remoteState instanceof TransactionalState) {
|
||||
|
@ -788,7 +789,15 @@ class AmqpProtocolConverter {
|
|||
sendToActiveMQ(ack, new ResponseHandler() {
|
||||
@Override
|
||||
public void onResponse(AmqpProtocolConverter converter, Response response) throws IOException {
|
||||
delivery.settle();
|
||||
if( response.isException() ) {
|
||||
if (response.isException()) {
|
||||
Throwable exception = ((ExceptionResponse) response).getException();
|
||||
exception.printStackTrace();
|
||||
sender.close();
|
||||
}
|
||||
} else {
|
||||
delivery.settle();
|
||||
}
|
||||
pumpProtonToSocket();
|
||||
}
|
||||
});
|
||||
|
@ -885,6 +894,7 @@ class AmqpProtocolConverter {
|
|||
sender.open();
|
||||
if (response.isException()) {
|
||||
Throwable exception = ((ExceptionResponse) response).getException();
|
||||
exception.printStackTrace();
|
||||
sender.close();
|
||||
}
|
||||
pumpProtonToSocket();
|
||||
|
|
Loading…
Reference in New Issue