throw e;
   private void handleFailure(Throwable t, Transaction tx) throws JMSException   {      final String msg1 = "Exception caught in processing transaction";      log.error(msg1, t);            log.info("Attempting to rollback");      try      {         tx.rollback();         Exception e = new TransactionRolledBackException("Failed to process transaction - so rolled it back");         e.setStackTrace(t.getStackTrace());         log.info("Rollback succeeded");      }      catch (Throwable t2)      {         final String msg2 = "Failed to rollback after failing to process tx";         log.error(msg2, t2);                        JMSException e = new IllegalStateException(msg2);         e.setStackTrace(t2.getStackTrace());         throw e;      }           }