当前位置: 首页 > 知识库问答 >
问题:

JCA远程队列Wildfly Artemis

鲁霄
2023-03-14

我在WildFly 18服务器上部署了EJB。我想将消息发送到部署在远程WildFly 18服务器上的队列(通过ActiveMQ Artemis)。使用注入和JCA以及poole连接工厂是否可能实现这一点?

连接工厂和队列在远程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>

在远程服务器上,队列配置如下:

xml prettyprint-override"><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的war时,我得到一个错误,即队列不存在。

谢谢你

共有1个答案

乌璞瑜
2023-03-14

对可以将基于JCA的池连接工厂注入运行在WildFly 18上的EJB,并向远程WildFly服务器发送JMS消息

 类似资料:
  • 我需要配置我的应用程序,以便发送和消费消息从/到一个队列坐在一个服务器上。我的应用程序中有以下配置。属性: 在我的控制器中: 然而,我得到了错误,说不满足的依赖通过字段'rabbit template'表示;嵌套异常为Org.SpringFramework.Beans.Factory.UnsatisfiedDependencyException。 有人帮忙吗? 错误的全部跟踪 unsatisfie

  • 我有一个关于 IBM MQ 中使用的 .绑定文件的快速问题。我记得绑定文件指定队列名称。如果当前用作本地队列的队列名称后来更改为远程队列,但队列的名称保持不变并且权限也很好,则绑定文件是否正常工作?

  • 我正在尝试找出如何获取远程代理上现有队列的列表。 看起来我可以通过添加一条建议消息(我还没有实现)来监听队列的创建/销毁,但是我需要在启动时获取所有现有的队列。 看起来我可以用getDestinationMap做到这一点: http://activemq.apache.org/maven/apidocs/org/apache/activemq/broker/region/Region.html#g

  • 我能够使用中定义的资源适配器成功读取远程ActiveMQ队列https://developer.jboss.org/wiki/HowToUseOutOfProcessActiveMQWithWildFly使用Wildfly 10。它在单机版中引用了以下配置 为了让代码工作,我在我的监听器上使用了如下MessageDriven注释 这是因为您基本上是将远程jndi名称硬编码到@MessageDriv

  • 我有一个奇怪的问题Laravel队列:工作。在我的crontab中,我设置了一个工作,就像Laravel文档中描述的那样 在我的应用程序/控制台/Kernel.php我设置这个: 在我的正式服php工匠队列中:工作运行几秒钟,然后被“杀死”。这就是我所期望的。 在我的开发盒php artisan队列中:工作永远运行。因此,激活cron作业会产生php进程,直到整个内存被填满。 两个盒子都是Cent

  • JCA (Java Connector Architecture) 定义了一个用来连接Java 企业版平台和企业信息系统之间的标准框架。 而 JBoss JCA 是 JCA (JSR-322)的一个实现。