问题标签 [camel-jms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1770 浏览

apache-camel - 自定义驼峰标头未存储在 JMS 消息属性中

我正在玩 Camel,作为一个简单的测试用例,我想在传入消息中添加一个标头并将其存储在 JMS 队列(activemq)中。这是使用 REST dsl 的代码:

现在,当我使用 HTTPie (httpie.org) 进行 GET 时:

并检查队列中的消息,我注意到以下内容:

  • {id} 从 URL 中提取并作为 JMS 属性显示
  • http 查询参数 (key=value) 可用作 JMS 属性
  • 自定义 http 标头(Foo: bar)作为 JMS 属性存在
  • 基本身份验证标头 (admin:admin) 作为 JMS 属性存在

但是,我的以随机 UUID 作为值的自定义“myHeader”作为 JMS 属性存在。

我究竟做错了什么?

0 投票
1 回答
1209 浏览

apache-camel - 如何在 apache camel xml 配置文件中过滤 jms 消息

我希望在一般主题上创建 jms 订阅者。为了避免不需要的消息,我希望在那里创建一个过滤器。问题是语法在java代码的每个地方都可用,但我找不到如何在像blueprint.xml这样的xml配置文件中做同样的事情

Java 代码

阿帕奇骆驼路线

0 投票
1 回答
858 浏览

apache-camel - 如何使用 activemq 骆驼组件启用事务

在从 JMS 队列消费消息时,我希望确定消费过程是成功还是失败,如果失败,我希望 activemq 在 1 分钟后再次重新传递消息。稍后根据交付计数,我可能会将其发送到 DLQ。

我找到了使用 java 代码实现相同的示例,例如具有不同确认模式的会话或使会话进行事务处理,但无法获得如何使用蓝图文件实现相同的目标。

0 投票
1 回答
288 浏览

java - JMS如何读取队列中的多个文件

我正在处理的应用程序侦听队列。该队列从上游接收多个文件(买/卖订单)。我是这个应用程序的新手,并试图了解如何处理多个文件。我们正在使用骆驼来听队列。我知道骆驼会监听队列,当文件进入时,它会读取它并将其路由到 java 文件以进行处理。我的问题是同时有第二或 100 条消息到达队列。这些多个文件如何处理..骆驼会产生一个新线程来继续收听消息,而其他线程路由它?

0 投票
0 回答
51 浏览

java - Websphere 集群环境中的 JMS1.x 订阅者/客户端选择相同的 TOPIC

我的订阅者/客户端应用程序的多个实例在集群环境中运行,并且它们都开始选择相同的主题。

有没有办法限制订阅者停止选择已被某些不同订阅者/客户选择的主题。

请注意,我必须使用主题,并且由于某些业务需求,我无法将其更改为使用消息。(类似于具有多个实例的集群中的此 JMS 持久订阅者

0 投票
0 回答
830 浏览

apache-camel - 如何使用 IBM MQ 为 Apache Camel 路由添加事务超时?

我们在应用程序中有一个问题,即 ibm mq 上的 jms 消息提交需要数小时才能完成,这反过来导致 ibm mq 中的日志空间被填满,并且应用程序端的 JVM 挂起问题。为了解决这个问题,我尝试在路由、jms 组件等上实现事务超时。但看起来没有任何效果。

应用程序中有3条路线

  1. 阅读消息(开始路线)
  2. 传递/发送消息
  3. 错误路由(发送到错误队列)

路线定义如下,

输入/消费者路线

交付路线

错误路线

这里是我根据 Camel 文档尝试的事务超时。但它不起作用,我也没有在跟踪日志中看到事务超时。此外,如果发生超时,不确定消息会发生什么。它会进入错误队列还是完全回滚重试?

在输入路由上,transactionTimeout=10

在输入路由 JMS 组件上,

在交付路由 JMS 组件上,

0 投票
1 回答
822 浏览

apache-camel - 当与 IBM MQ 的连接出现问题时,如何解决 Apache Camel 中的 JVM 挂起问题?

每当 IBM MQ 出现网络/连接问题时,我们都会看到基于 Apache Camel 的应用程序中频繁挂起的 JVM。

记录器清楚地表明发生了连接问题,Spring CachingConnectionFactory 正在尝试重置底层 MQ 连接。重置连接时,Spring 和 IBM MQ Lib 之间似乎存在切换问题。

在完全相同的时间戳上,JVM 挂起,DMLC 不再处理消息。但我确实看到消费者队列中有 20 个听众。

我对该进程进行了线程转储,我看到导致 JVM 挂起的挂起/阻塞线程。

在此处输入图像描述

这是由于线程阻塞而等待的 JMSCCThreadPoolWorker 堆栈跟踪。

这是阻塞线程的堆栈跟踪:

0 投票
0 回答
99 浏览

apache-camel - 每次重新启动链接的 JMS weblogic 服务器时,Camel-JMS 都会挂起

以下是我想要实现的目标:

  1. 从源目录中选择一个文件。
  2. 将该文件复制到目标目录中。
  3. 将消息发布到 weblogic 队列中,不同的应用程序从该队列中选择文件名并从目标目录处理它。

问题是每次重新启动 weblogic 服务器时(由于代码部署),Camel-JMS 路由都会挂起并停止工作,直到重新启动 Camel 路由/Servicemix 服务器。

下面是我的骆驼路线的代码:

Camel JMS 中是否有一个属性/配置可以设置为处理 JMS 服务器的重新启动,以便骆驼每次重新启动时自动连接到 weblogic 队列?

0 投票
1 回答
369 浏览

activemq-artemis - Apache Artemis 没有 clientId 显示在 management-console.UI 的使用者部分

我正在使用 Apache Artemis 代理和 Apache camel JMS 组件

因为我正在使用 Apache camel JMS 组件所以在这里,我正在听这个话题

我在这里设置

现在,当我使用管理控制台.UI 时,它在消费者 ID 中显示为空的客户端 ID

在此处输入图像描述

在上图中Queue = testId.dsn 其中testId是 clientId 而dsn是订阅名称。

在客户端标题下也没有显示 clientId。

为什么客户端名称没有显示在客户端标题下。以及为什么Queue值显示 clientId + 订阅名称的串联

请在这里帮忙,谢谢!

0 投票
1 回答
196 浏览

java - CAMEL JMS 崩溃并停止生成消息

上周我们在 ESB Camel JMS 上遇到了一个生产问题,我们在 FUSE 服务器上部署了多个微服务。以下异常发生在一个已安装的服务中,导致所有其他服务停止生成 AMQ 消息。

只有 JMS 生产者失败,消费者处于活动状态并已消费消息。

请就这个问题提出建议,谢谢。