else
{
throw new XAException(XAException.XAER_INVAL);
}
SessionXAResponseMessage response = (SessionXAResponseMessage)channel.sendBlocking(packet, PacketImpl.SESS_XA_RESP);
this.currentXID = xid;
if (response.isError())
{
HornetQClientLogger.LOGGER.errorCallingStart(response.getMessage(), response.getResponseCode());
throw new XAException(response.getResponseCode());
}
}
catch (HornetQException e)
{
// we can retry this only because we know for sure that no work would have been done
if (e.getType() == HornetQExceptionType.UNBLOCKED)
{
try
{
SessionXAResponseMessage response = (SessionXAResponseMessage)channel.sendBlocking(packet, PacketImpl.SESS_XA_RESP);
if (response.isError())
{
HornetQClientLogger.LOGGER.errorCallingStart(response.getMessage(), response.getResponseCode());
throw new XAException(response.getResponseCode());
}
}
catch (HornetQException e1)
{
// This should never occur