private void onLinkOpenComplete(final Exception exception) { if (openRefCount.decrementAndGet() <= 0 && onOpen != null) if (exception == null && this.sendLink.getRemoteState() == EndpointState.ACTIVE && this.receiveLink.getRemoteState() == EndpointState.ACTIVE) onOpen.onComplete(null); else { if (exception != null) onOpen.onError(exception); else { final ErrorCondition error = (this.sendLink.getRemoteCondition() != null && this.sendLink.getRemoteCondition().getCondition() != null) ? this.sendLink.getRemoteCondition() : this.receiveLink.getRemoteCondition(); onOpen.onError(ExceptionUtil.toException(error)); } } }
@Override public void remotelyClosed(AmqpConnection connection) { Exception txnError = AmqpSupport.convertToException(getEndpoint().getRemoteCondition()); // Alert any pending operation that the link failed to complete the pending // begin / commit / rollback operation. for (AsyncResult pendingRequest : pendingRequests.values()) { pendingRequest.onFailure(txnError); } // Purge linkages to pending operations. pendingDeliveries.clear(); pendingRequests.clear(); // Override the base class version because we do not want to propagate // an error up to the client if remote close happens as that is an // acceptable way for the remote to indicate the discharge could not // be applied. if (getEndpoint() != null) { getEndpoint().close(); getEndpoint().free(); } LOG.debug("Transaction Coordinator link {} was remotely closed", getEndpoint()); }
ErrorCondition remoteError = ((Rejected) outcome).getError(); if (remoteError == null) { remoteError = getEndpoint().getRemoteCondition();
@Override public void inspectOpenedResource(Sender sender) { ErrorCondition condition = sender.getRemoteCondition(); if (condition != null && condition.getCondition() != null) { if (!condition.getCondition().equals(AmqpError.UNAUTHORIZED_ACCESS)) { markAsInvalid("Should have been tagged with unauthorized access error"); } } else { markAsInvalid("Sender should have been opened with an error"); } } });
ErrorCondition remoteError = ((Rejected) state).getError(); if (remoteError == null) { remoteError = getEndpoint().getRemoteCondition();
@Override public void inspectOpenedResource(Sender sender) { ErrorCondition condition = sender.getRemoteCondition(); if (condition != null && condition.getCondition() != null) { if (!condition.getCondition().equals(AmqpError.UNAUTHORIZED_ACCESS)) { markAsInvalid("Should have been tagged with unauthorized access error"); } } else { markAsInvalid("Sender should have been opened with an error"); } } });
ErrorCondition remoteError = ((Rejected) state).getError(); if (remoteError == null) { remoteError = getEndpoint().getRemoteCondition();
String errorDescription = ""; String senderError = event.getSender() != null && event.getSender().getRemoteCondition() != null && event.getSender().getRemoteCondition().getCondition() != null ? event.getSender().getRemoteCondition().getCondition().toString() : ""; String receiverError = event.getReceiver() != null && event.getReceiver().getRemoteCondition() != null && event.getReceiver().getRemoteCondition().getCondition() != null ? event.getReceiver().getRemoteCondition().getCondition().toString() : ""; String sessionError = event.getSession() != null && event.getSession().getRemoteCondition() != null && event.getSession().getRemoteCondition().getCondition() != null ? event.getSession().getRemoteCondition().getCondition().toString() : ""; String transportError = event.getTransport() != null && event.getTransport().getRemoteCondition() != null && event.getTransport().getRemoteCondition().getCondition() != null ? event.getTransport().getRemoteCondition().getCondition().toString() : ""; String senderErrorDescription = event.getSender() != null && event.getSender().getRemoteCondition() != null && event.getSender().getRemoteCondition().getDescription() != null ? event.getSender().getRemoteCondition().getDescription() : ""; String receiverErrorDescription = event.getReceiver() != null && event.getReceiver().getRemoteCondition() != null && event.getReceiver().getRemoteCondition().getDescription() != null ? event.getReceiver().getRemoteCondition().getDescription() : ""; String sessionErrorDescription = event.getSession() != null && event.getSession().getRemoteCondition() != null && event.getSession().getRemoteCondition().getDescription() != null ? event.getSession().getRemoteCondition().getDescription() : "";