从 Jboss 6.3.3 迁移到 Liberty 服务器时,如何替换从 "org.jboss.ejb3.annotation.ResourceAdapter" 导入的 @ResourceAdapter?

How to replace @ResourceAdapter which is imported from "org.jboss.ejb3.annotation.ResourceAdapter" while migrating from Jboss 6.3.3 to Liberty server?

我正在将现有应用程序从 JBOSS 6.3.3 迁移到 Liberty 服务器。我发现 MDB class 正在使用从 "org.jboss.ejb3.annotation.ResourceAdapter" 导入的 @ResourceAdapter("wmq.jmsra.rar")。我如何用 Liberty 提供的 Jar 替换它?

@ResourceAdapter("wmq.jmsra.rar")

public class QueueListenerBean 实现 MessageListener

如果将 Jboss-specific @ResourceAdapter("wmq.jmsra.rar") 注释替换为 @MessageDriven,

@MessageDriven("MyMDB")
public class QueueListenerBean implements MessageListener

之后,您可以在 server.xml、

中为其配置一个 activationSpec
<server>
  <featureManager>
    <feature>jms-2.0</feature>
    <feature>mdb-3.2</feature>
    ... other features
  </featureManager>

  <resourceAdapter id="wmqjmsra" location="C:/adapters/wmq/wmq.jmsra.rar"/>

  <jmsActivationSpec id="MyMDB">
    <properties.wmqjmsra .../>
  </jmsActivationSpec>

以上应该适用于 OpenLiberty 和商业 WebSphere Liberty。如果使用后者,您还有另一种选择 server.xml 配置,

<server>
  <featureManager>
    <feature>jms-2.0</feature>
    <feature>mdb-3.2</feature>
    <feature>wmqJmsClient-2.0</feature>
    ... other features
  </featureManager>

  <variable name="wmqJmsClient.rar.location" value="C:/adapters/wmq.jmsra.rar"/>

  <jmsActivationSpec id="MyMDB">
    <properties.wmqJms .../>
  </jmsActivationSpec>

以下 knowledge center doc 显示了 jmsActivationSpec 和 properties.wmqJms

上可用的配置属性