我的IBM Liberty server.xml中有以下配置
<!-- resource adapter location -->
<variable name="wmqJmsClient.rar.location" value="${shared.resource.dir}/lib/global/wmq.jmsra-9.1.0.0.rar"/>
<!-- jmsActivationSpec configs -->
<jmsActivationSpec authDataRef="myAuthData" id="my-app-name/MyMessageDrivenBean">
<properties.wmqJms destinationRef="jms/MyQueue"
destinationType="javax.jms.Queue"
sslCipherSuite="SSL_RSA_WITH_AES_256_CBC_SHA256"
channel="MY.MQCHANNEL"
queueManager="MY_QM"
hostName="myhost" port="32100"
transportType="CLIENT" />
</jmsActivationSpec>我还有一个消息驱动的bean,用来处理队列中出现的消息。一切都很好。
我想迁移到open-liberty并保留我的JMS内容,但它们的文档略有不同,尽管配置元素相同。
一些属性丢失了,并且不清楚如何替换它们。没有hostName和port,相反,我只找到了remoteServerAddress,而且它必须是一个三元组host:port:something_i_dont_understand,所以不确定它是否完全相同:)
我如何在open-liberty中配置所有这些必需的东西来使我的消息驱动bean工作?
如有任何帮助,我们将非常感谢:)
发布于 2019-04-10 21:30:03
在WebSphere自由中,您可能会使用wmqJmsClient-2.0功能。这在Open Liberty中不可用,但它实际上只是一个方便的特性。您应该能够配置以下内容:
<featureManager>
<feature>jms-2.0</feature>
<feature>jca-1.7</feature>
</featureManager>
<resourceAdapter id="mqJMS" location="${shared.resource.dir}/lib/global/wmq.jmsra-9.1.0.0.rar"/>
<!-- jmsActivationSpec configs -->
<jmsActivationSpec authDataRef="myAuthData" id="my-app-name/MyMessageDrivenBean">
<properties.mqJms destinationRef="jms/MyQueue"
destinationType="javax.jms.Queue"
sslCipherSuite="SSL_RSA_WITH_AES_256_CBC_SHA256"
channel="MY.MQCHANNEL"
queueManager="MY_QM"
hostName="myhost" port="32100"
transportType="CLIENT" />
</jmsActivationSpec>这将配置jms-2.0特性,以及在Liberty中启用JMS和RA支持的jca-1.7。resourceAdapter元素将Liberty配置为了解RA的存在和位置(类似于现有配置中的变量)。id属性的值随后用于jmsActivationSpec元素下的属性元素,因此在wmqJmsClient-2.0功能中,我们将其定义为wmqJms,在本例中,我使用mqJms,因为我认为wmqJms是保留的。在任何情况下,此配置都应该在开放自由和WebSphere自由中都有效。
https://stackoverflow.com/questions/55612324
复制相似问题