gpt4 book ai didi

java - 我可以在 WebSphere 中设置非事务性 JMS 连接工厂吗?

转载 作者:行者123 更新时间:2023-11-29 06:08:46 26 4
gpt4 key购买 nike

工厂将基于默认消息提供程序

这样做的原因是我有一个模拟 MDB 代替外部系统,通常通过 Websphere MQ 连接。 mock和被测应用安装在同一台服务器上,所以我需要确保在循环中

request -> mock listener -> mock reply -> response

requestreply 是两个独立的事务。

我在控制台中看不到任何选项可以将工厂从事务管理器的监督中移除。

最佳答案

您的观察是正确的,即 JMS 连接工厂无法配置为不在当前事务中登记。我有点不确定你在这里想要达到什么目的,但我将做出以下假设:

  1. 客户端发送消息
  2. 监听器接收消息并发送回复
  3. 客户收到回复

在这种情况下,客户端需要先发送并提交消息,然后监听器才能收到消息以发送回复。监听器可以在一个事务中接收和回复,但客户端需要两个。我进一步假设客户端是一个 EJB。

对此的一种解决方案是使用 bean 管理的事务。在这种情况下,您可以手动开始事务并在 1 左右提交,然后在 3 左右再次提交。这将导致消息被发送。

另一种解决方案是在一个 EJB 方法中使用 RequiresNew 进行发送,在另一个 EJB 方法中使用 RequiresNew 进行接收。然后客户端调用发送 EJB 方法,然后调用接收 EJB 方法,每个方法都有自己的事务。

关于java - 我可以在 WebSphere 中设置非事务性 JMS 连接工厂吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7741391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com