Использовать websphere MQ в качестве координатора транзакций XA

Я пытаюсь использовать Websphere MQ (без WAS )в качестве координатора транзакций XA для моего Java-приложения между MQ и Oracle 11g.

Возможно ли это? Это хорошая практика?

Я установил сервер MQ V7.0.1 на Windows (64-битную Win7 )и правильно настроил менеджер ресурсов XA. Однако, когда мой простой код Java запускает транзакцию и затемняет ее, только сообщение в очереди может откатиться, но операция БД не может откатиться. Я ожидаю, что они оба могут откатиться вместе.

Мой простой код Java, как показано ниже
QueueManager qmgr = новый QueueManager (QM _ИМЯ, свойства );
.....
JdbcConnection conn = qmgr.getJdbcConnection (xads );
qmgr.begin ();
// выполняем операцию с БД и помещаем сообщение в очередь
qmgr.backout ();
конн.закрыть ();

Однако откат возможен только для операции «поместить сообщение», а для операции с БД — нет.

Я новичок в MQ. У вас есть идеи, как решить эту проблему? Любой вклад высоко ценится!

5
задан Philip 2 May 2012 в 15:28
поделиться