如果使用 Java MQ 类(而不是 JTA)将 Websphere MQ 用作 XA(分布式事务)事务管理器,则 Java 应用程序和 WMQ 都需要驻留在同一主机上。有人告诉我这是因为共享内存被用作进程间通信机制。 Java 应用程序和 Websphere MQ 都需要访问共享内存才能使 XA 工作。
如果我们在一个 docker 容器中部署 WMQ,并将 Java 应用程序保存在另一个 docker 容器中(两者都在同一主机上),我们是否能够使用 WMQ 作为 XA 协调器?
我们是否必须使用容器的某些特殊配置才能使其正常工作?我们可以允许两个容器使用公共共享内存吗?
Regards,
Yash
您可以通过以下方式使用通用 IPC 名称空间--ipc
选项run
and create
docker run -d --name=wmq wmq
docker run -d --ipc=container:wmq app
或者安全性较低的主机 ipc
docker run -d --ipc=host wmq
docker run -d --ipc=host app
我不确定 MQ 是否明确支持 XA 的任一设置,但 IBM 在 Docker 中支持 MQ。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)