EJB развернут на сервере WildFly 18. Я хочу отправить сообщение в очередь, развернутую на удаленном сервере WildFly 18 (через ActiveMQ Artemis). Возможно ли это с помощью инъекций и JCA, а poole-connection-factory
?
Фабрика и очередь соединений настроены в удаленном модуле Wildfly следующим образом:
<subsystem xmlns="urn:jboss:domain:messaging-activemq:8.0">
...
<pooled-connection-factory name="remote-artemis" entries="java:/jms/remoteCF" connectors="remote-http-connector"/>
...
</subsystem>
На удаленном сервере настроена очередь как показано ниже:
<subsystem xmlns="urn:jboss:domain:messaging-activemq:8.0">
...
<jms-queue name="WildFlyCookbookQueue" entries="java:/jms/queue/test java:jboss/exported/jms/queue/test"/>
...
</subsystem>
ОБНОВЛЕНИЕ
Вот мой EJB, пытающийся отправить сообщение на удаленный Artermis (внутри удаленного wildfly):
@Stateless
public class MessageSender {
@Inject
@JMSConnectionFactory("java:/jms/remoteCF")
@JMSPasswordCredential(userName = "jmsuser", password = "jmsuser2020")
private JMSContext context;
@Resource(lookup = "java:/jms/queue/test")
private Queue queue;
public void sendMessage(String message) {
context.createProducer().send(queue, message);
}
}
Когда я пытаюсь развернуть войну, содержащую этот EJB, я получаю сообщение об ошибке о том, что очередь не существует.
Спасибо