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

向使用camel创建的Activemq队列发送消息

郤望
2023-03-14

我是activeMQ的新手,在将消息从驻留在另一台服务器上的消息生成器推送到activeMQ定义的队列时遇到问题。

我在activeMQ上使用camel routes创建的应用程序中有几个队列。我尝试从另一台服务器上的应用程序对这些队列执行远程JNDI查找。我使用了来自http://activemq.apache.org/jndi-support.html页面的activemq文档片段。

我可以连接到activeMQ,但是我无法查找使用camel routes定义的队列。

队列消费者是通过下面定义的camel路由创建的。from(“jms:queue:APP.IF.jms.OUTBOUND”)../。

但是我没有在下面执行的查找中看到此队列 -

    String destination = "APP.IF.JMS.OUTBOUND";
    ConnectionFactory cf = null;
    Destination dest = null;
    Context ctx = null;
    Properties params = new Properties();
    readProperty(params, Context.INITIAL_CONTEXT_FACTORY, "org.apache.activemq.jndi.ActiveMQInitialContextFactory", false);
    readProperty(params, Context.PROVIDER_URL, "tcp://localhost:61616", false);
    readProperty(params, "queue.AS.IF.JMS.REQUEST",
     "AS.IF.JMS.REQUEST", false);

    ctx = new InitialContext(params);
    cf = (ConnectionFactory) ctx.lookup("ConnectionFactory");
    System.out.println(ctx.getEnvironment());
    dest = (Destination) ctx.lookup(destination);
    ..............

在此队列上完成查找时,最后一行将失败。我确实在控制台上看到了这一点。我是否缺少一些配置来在 JNDI 上公开此队列?感谢您的回复。

共有1个答案

华宪
2023-03-14

将PROVIDER_URL中的单词localhost改为machineName。既然是远程操作,就需要你的机器名。

 类似资料:
  • 我需要将消息发送到Azure服务总线中的队列。我使用HTTP Post发送消息,但我需要提高我的流量,然后我决定测试AMQP协议。 代码如下: 当我开始这条路线时,通信工作,但是对于骆驼发送给Servicebus的每一条消息,我得到了以下日志: Camel正在为每条消息花费一秒钟的时间发送到Servicebus。这是正常的行为吗?有没有可能让骆驼发送得更快?

  • 我现有的使用阻止队列的代码创建了一个阻止队列列表(如私有列表 任何帮助将不胜感激。

  • 我是这个消息队列的新手,刚刚开始学习一些基本的东西。 因此,对于我们的Spring Boot应用程序,我们遵循了contoller talks to service&service talks to repository这样的体系结构,所以在这里,我必须创建一个控制器,它将接受类DTO作为json,并将这些信息发布到apache Camel中指定的消息队列。我在跟踪这个链接!对于我的参考,工作良好

  • 我们有一个用例,其中我们只创建一个消费者来处理队列中的消息。消息处理器在确认之前积累一定数量的消息。以异步方式接收消息并使用事务会话。消息的大小非常小。 在一定数量的消息之后,主动MQ停止向唯一的消费者发送进一步的消息,并等待确认。我们尝试过像consumer.prefetchSize,consumer . maximumpendingmessagelimit;但是什么都不管用。我们用一个只有一个

  • 如标题所述,我想使用RabbitMQ向Websocket发送消息。使用AngularJS前端,我想从Websocket读取RabbitMQ消息,并将它们打印到控制台。原则上,我的代码似乎是可行的,尽管我不知道如何获得消息的实际(字符串)内容? 后端:为了创建Websocket并执行路由,我使用Spring Boot和Apache Camel:http://camel.Apache.org/Spri

  • ActiveMQ:5.10.2在ServiceMix的Karaf OSGi中 卡哈布坚持。 默认代理设置。连接中的默认设置(TCP://x.x.x.x.x:61616) 一切正常,但是:如果我将消费者的数量减少到1(或者2或3个,我不知道阈值在哪里),那么来自1个队列的消息将被消耗,来自另一个队列的消息将被存储。过了一段时间,我看到了这张照片: 1用户停止接收消息。他认为没有更多消息了。 从act