public void testTxExceptionRollbackAsync() throws Exception {
exceptionToThrow = new Exception("Business exception");
exceptionShouldRollback = true;
txManager.begin();
InOnly me = client.createInOnlyExchange();
me.setService(new QName("service"));
me.getInMessage().setContent(new StringSource("<hello>world</hello>"));
client.send(me);
assertEquals(Status.STATUS_ACTIVE, txManager.getStatus());
assertEquals(ExchangeStatus.ACTIVE, me.getStatus());
txManager.commit();
// if we always mark the transaction as rollback,
// the exchange will be redelivered by the JCA flow,
// until it is discarded, so we will never receive
// it back