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

从activemq到restendpoint的Camel路由

冉丰茂
2023-03-14

我正在尝试使用Spring Boot 1.5.2.Release+Camel(Spring Boot starter)2.19.2来监听ActiveMQ队列,然后将消息发布到restendpointURL(post方法)作为其主体。实现这一目标的最佳途径是什么?我收集了一些信息,并试图将其联系在一起,但却有点困惑。

以下是我为Camel Rest DSL收集的内容,我不太确定下面的Camel是通过这个创建这些Rest服务,还是它只是一个已经公开的endpoint,在我的例子中它是一个已经公开的endpoint

rest("/basePath")
  post("/someEndpoint").to("direct:restEndpoint")

使用上面的内容是我为ActiveMQ收集到的,但我不太确定它是否正确

from("activemq:queue:<queue_name>").to("direct:restEndpoint")

但是,我还是不太确定如何侦听ActiveMQ队列中的新消息,或者这是Camel默认情况下总是要做的事情吗?此外,我需要将消息作为post正文传递给我的restendpoint。我还看到了一些对camel-http4和camel-http的引用,我完全搞混了。

如有任何协助,将不胜感激。

共有1个答案

申屠洛华
2023-03-14

在开始使用Camel时,有些困惑是常见的,但您的最终解决方案将看起来类似于:

from("activemq:queue:my-route")
  .process(/* change the in/out messages if you need to */)
  .to("http4://your-endpoint.com");

不要试图简单地复制/粘贴这段代码,直到它工作。我的经验法则是:总是阅读组件文档,并尝试在软件中使用它。就你的情况而言,我建议:

  1. 读取ActiveMQ组件文档并尝试从ActiveMQ读取/写入日志;
  2. 从计时器生成一些输入,并使用HTTP4组件发送到您的Restendpoint;
 类似资料:
  • 我正在尝试使用Apache Camel创建en RESTendpoint。我已经有了一个返回JSON内容的REST服务,我希望这个endpoint能得到它。我的问题是,我不知道构建Camel路由时发生了什么...目前,它什么也不做。这是我的代码: 我正在端口上的本地Tomcat上运行我的REST服务,我的完整URL是 /ContextServices/rest/ContextServices/do

  • 我有两个拥有相同消费者的AMQ队列。第一个队列(Q1)处理97%的消息,另一个队列(Q2)仅处理3%。问题是,Q2中的消息需要在消息排队后立即进行处理。所以我的问题是,当一条消息在第二季度可用时,我需要以某种方式暂停第一条路线,以吸引消费者。apache camel路由如下所示: 应该使用什么策略?我不认为我可以使用重新定序器,因为Q1可能有成千上万的消息排队,我不能把所有的消息都放在重新定序器批

  • 我正在尝试使用camel-actiemq依赖关系,并设置一个正在监听actiemq队列的服务。当我试图设置骆驼路由中的唯一连接时,我使用的endpoint是: “activemq:mailq?用户名=管理员 我的问题是activemq依赖关系正在解除故障切换“localhost:61616”的约束,因为它没有重新计算brokerURL参数。 我正在尝试连接到一个部署在openShift服务器上的队

  • 我正在尝试构建一个模块来插入Spring Boot应用程序。这个模块应该公开一些RESTendpoint,我正在尝试使用Camel构建它们,因为我不想向web.xml等添加东西。 我遇到的问题是,不是在/my/foo/123?status=abc我必须点击/camel/my/foo/123?状态=abc。 它这样做是因为它默认使用Camel Servlet作为DSL的RESTendpoint,我对

  • 我对骆驼和蓝图都很陌生。 我试图做一个简单的程序,把数据放在队列中。不知道这里出了什么问题。

  • 我试图通过Apache Camel将一些xml数据发布到SOAP API。请参阅下面的Camel路由。我在这里尝试的是在c:/input中读取xml文件,并将其内容发送到托管在我的Tomcat(本地主机:8080/myservice/soapws)上的SOAP API。这里可以使用Camel的HTTP组件吗?Camel中是否有其他组件可用于路由到SOAP API。我是骆驼新手。请帮忙