gpt4 book ai didi

java - Apache Camel : DefaultMessage cannot be cast to JmsMessage

转载 作者:行者123 更新时间:2023-11-29 09:18:56 25 4
gpt4 key购买 nike

每当新的 JMS 消息到达给定队列时,我正在尝试使用 Camel 路由将 POST 消息发送到 PHP 脚本。我已经开始工作了,但是现在 POST 消息缺少 JMS 消息体,并且我在 ActiveMQ 日志中收到以下错误:

2011-10-10 17:46:39,961 | ERROR | Caused by: [org.apache.camel.RuntimeCamelException -
java.lang.ClassCastException: org.apache.camel.impl.DefaultMessage cannot be cast to
org.apache.camel.component.jms.JmsMessage] |
org.apache.camel.component.jms.EndpointMessageListener |
DefaultMessageListenerContainer-1
org.apache.camel.RuntimeCamelException: java.lang.ClassCastException:
org.apache.camel.impl.DefaultMessage cannot be cast to
org.apache.camel.component.jms.JmsMessage

我在我的 pom.xml 文件中包含了 camel-jms 依赖项。我正在使用 Camel 2.4.0,并将 camel-jms jar 文件放在我的 ActiveMQ lib 文件夹中。

这是我的路线目前的样子:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<route autoStartup="true" inheritErrorHandler="true" id="route2" xmlns:ns2="http://camel.apache.org/schema/web" xmlns="http://camel.apache.org/schema/spring">
<from uri="activemq:topic:topic_name"/>
<setBody inheritErrorHandler="true" id="setBody2">
<simple>name=${body}</simple>
</setBody>
<setHeader headerName="Content-Type" inheritErrorHandler="true" id="setHeader3">
<constant>application/x-www-form-urlencoded;</constant>
</setHeader>
<setHeader headerName="CamelHttpMethod" inheritErrorHandler="true" id="setHeader4">
<constant>POST</constant>
</setHeader>
<to uri="http://path/to/process.php" inheritErrorHandler="true" id="to2"/>
</route>

我的路线配置中是否遗漏了什么?还是ActiveMQ服务器本身有问题?

最佳答案

Camel 中有一个关于此的错误。您可以通过升级 Camel 或使用具有更新的 Camel 版本的更新的 AMQ 来解决此问题。

关于java - Apache Camel : DefaultMessage cannot be cast to JmsMessage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7727312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com