ARTEMIS-1712 Add additional null check in TX rollback handler
Check for AMQSession being null before handling various TX state checks in order to ensure the correct errors are thrown and TX rollback is handled properly.
This commit is contained in:
parent
989779476b
commit
8fc1e00d88
|
@ -1156,7 +1156,13 @@ public class OpenWireConnection extends AbstractRemotingConnection implements Se
|
||||||
@Override
|
@Override
|
||||||
public Response processRollbackTransaction(TransactionInfo info) throws Exception {
|
public Response processRollbackTransaction(TransactionInfo info) throws Exception {
|
||||||
Transaction tx = lookupTX(info.getTransactionId(), null, true);
|
Transaction tx = lookupTX(info.getTransactionId(), null, true);
|
||||||
AMQSession amqSession = (AMQSession) tx.getProtocolData();
|
|
||||||
|
final AMQSession amqSession;
|
||||||
|
if (tx != null) {
|
||||||
|
amqSession = (AMQSession) tx.getProtocolData();
|
||||||
|
} else {
|
||||||
|
amqSession = null;
|
||||||
|
}
|
||||||
|
|
||||||
if (info.getTransactionId().isXATransaction() && tx == null) {
|
if (info.getTransactionId().isXATransaction() && tx == null) {
|
||||||
throw newXAException("Transaction '" + info.getTransactionId() + "' has not been started.", XAException.XAER_NOTA);
|
throw newXAException("Transaction '" + info.getTransactionId() + "' has not been started.", XAException.XAER_NOTA);
|
||||||
|
|
Loading…
Reference in New Issue