import progress.message.jclient.xa.*; ... // Получение XAResourse XAQueueConnectionFactory xaqcf = new XAQueueConnectionFactory(url); XAQueueConnection xaqc = xaqcf.createXAQueueConnection(user, password); QueueConnection qc = ((XAQueueConnection)xaqc).getQueueConnection(); XAQueueSession xaqs = xaqc.createXAQueueSession(); XAResource xarq = xaqs.getXAResource(); // Открытие сеанса QueueSession qs = xaqs.getQueueSession(); Queue q = qs.createQueue(«Queue»); QueueSender sender = qs.createSender(q); try { xarq.start(xid11, XAResource.TMNOFLAGS); // Начало транзакции sender.send(msg); xarq.end(xid11, XAResource.TMSUCCESS); // Конец транзакции xarq.prepare(xid11); // первая фаза, подготовка xarq.commit(xid11, false); // вторая фаза, фиксация } catch (JMSException e) { xarq.rollback(xid11); // Откат в случае ошибки }