Как заменить @ResourceAdapter, который импортируется из "org.jboss.ejb3.annotation.ResourceAdapter" при миграции с Jboss 6.3.3 на сервер Liberty? - PullRequest
1 голос
/ 21 мая 2019

Я переношу существующее приложение с JBOSS 6.3.3 на сервер Liberty. Я обнаружил, что класс MDB использует @ResourceAdapter ("wmq.jmsra.rar"), который импортируется из "org.jboss.ejb3.annotation.ResourceAdapter". Как я могу заменить его на предоставленные Liberty банки?

@ ResourceAdapter ( "wmq.jmsra.rar")

открытый класс QueueListenerBean реализует MessageListener

1 Ответ

1 голос
/ 21 мая 2019

Если вы замените специфическую для Jboss аннотацию @ResourceAdapter("wmq.jmsra.rar") на @MessageDriven,

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

, после чего вы можете настроить activationSpec для нее в server.xml,

<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>

В следующем документе центра знаний показаны доступные атрибуты конфигурации для jmsActivationSpec и properties.wmqJms

...