2016-06-08 431 views
0

如果將Websphere MQ用作使用Java MQ類的XA(分佈式事務)事務管理器,而不是JTA,則Java應用程序和WMQ都需要駐留在同一臺主機上。我被告知這是因爲共享內存被用作進程間通信機制。 Java應用程序和Websphere MQ都需要訪問共享內存才能使XA正常工作。跨Docker容器的共享內存

如果我們在Docker容器中部署WMQ並將我們的Java應用程序保留在另一個Docker容器中,這兩個容器都在同一臺主機上,我們是否可以將WMQ用作XA協調器?

我們必須使用容器的某些特殊配置才能使其工作嗎?我們可以允許這兩個容器使用共同的共享內存嗎?

問候,
佳日

回答

0

您可以通過--ipc選擇使用普通的IPC名字空間爲runcreate

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 

我m不確定MQ對XA的設置有明確的支持,但IBM支持MQ在Docker中。