轨道交通 中间件

EJB3.0 MDB中对MQ事务的处理

场景: EJB3.0 从QueueA 中取得消息后,向QueueB放入消息.

问题:抛出运行时异常后,QueueA中的消息自动放回,但是QueueB中放入数据了,应该QueueB中也没有数据才对。

代码如下:
public void onMessage(Message message) {
TextMessage text = (TextMessage) message;// From QueueA 
try {
test();
throw new RuntimeException();
} catch (JMSException e) {
e.printStackTrace();
}
}

private static void test() {
MQManager qManager = new MQManager();
try {

qManager.connect("9.123.100.42", "SYSTEM.DEF.SVRCONN", "CLUSQM",
"1415");
qManager.put("QueueB", new String("Hello world!!"));
} catch (Exception e) {
e.printStackTrace();
}
参与4

提问者

shilei
开发工程师 ibm
评论29

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2011-04-21
  • 关注会员:1 人
  • 问题浏览:4314
  • 最近回答:2011-04-21
  • X社区推广