我正在尝试以骆驼路线记录交换或尸体,如下所示:
<log message="body:${body}"/>
这张照片是空白的,比如“身体:”。但是,通过传递以下参数,在同一路径中调用某些处理器:
<bean id="userBean" method="findSomeUser(${body.getUserId})"/>
如果要查看exchange的内容,如何从camel路由记录exchange/body?
日志消息中的表达式${body}是正确的,您的body可能是空的,因此它会这样打印出来。尝试使用setBody参数将正文设置为某个值,然后尝试打印正文。
你使用的表达是正确的,但你的身体当时是空的。尝试从此路线中删除setBody零件,您将得到相同的结果。
<route >
<from uri="timer://foo?fixedRate=true&period=5000"/>
<setBody>
<constant>MESSAGE</constant>
</setBody>
<log message="body:${body}"/>
</route>
如果您使用的是Java DSL,这就是打印消息正文的方式;
from("file://xml/inbox")
.log("${body}");
如果您也想编辑您的正文或使用它,您可以在Process()
方法中使用Camel处理器
实现,如下所示,这样您就可以通过Exchange对象获取正文或更新正文;
from("file://xml/inbox")
.log("${body}")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
String myBody = exchange.getIn().getBody();
System.out.println("This is my body: " + myBody);
}
})
.log(LoggingLevel.INFO, "Processed");
我编写了一个应用程序来加载骆驼路线。 我有一个Spring-Camel实例。现在我将加载“模块”来订购我的路线,并有能力通过该模块取消/激活一组路线。 因此,我编写了一个XML文件,并将其解组到Java类中。每个模块现在都是一个Java类。我想在这个Java类中定义骆驼路线。 当我从RouteBuilder扩展Java类时,JAXB不会对其进行编组。 你们中的一些人知道我如何定义我的路由,比如"f
我将数据插入到多个表中,我使用mybatis组件来实现这一点。在插入数据之前,我还需要创建一个临时表。高层概述如下: 获取要插入的数据 步骤2到5应该是他们自己的单一事务,以防出现故障。我现在有这个: CreateTmpLinksTable需要有权访问当前连接,这样临时表的创建就不会在不同的事务中发生(如果有关系,以PostgreSQL为目标)。 我目前有: 我也没有设置我的交易管理器。我怀疑我必
我知道已经提出了许多关于同样的问题,但没有一个对我的案件有所帮助。 在这里,我试图在Split的第一次迭代中将一些值设置到Header中,然后在拆分的第二次迭代中,我需要旧的交换值将其附加到当前值。 代码:SomeDummyClass2.java 骆驼路线: 我已经通过了其他一些问题,他们要求使用CamelSplitIndex或AggregationStrategy,但我是新手,有人能帮帮我吗?
有一条骆驼路线,它被处理,异常由处理。代码如下所示: 它是有效的,并且在错误被处理后,事务有一个提交:,但是然后消息再次被放入输入队列中,事务从头开始(无尽循环)。 我们正在使用IBM MQ,我认为这种回滚是由MQ执行的,而不是从camel路线执行的。所以问题是:我能告诉MQ我处理了异常,并且它不应该再次回滚吗?
我在运行elasticsearch的服务器上通过80代理了端口9200。我有一个骆驼路由,需要将文档索引到此服务器。 camel elasticsearch插件是否支持该功能?ie通过非9300端口访问弹性搜索? 我知道端口9300使用本机elasticsearch传输协议。 我的选择是什么?我可以通过apache代理9300吗?我不确定这是否有效。 还是camel elasticsearch插件
关于ApacheCamel的简短问题。我有以下场景,其中我的服务器接收jms消息,然后转换为csv文件,然后插入DB。为此,我有两个bean: xml2csv 我使用路由像: 当"路由"一个文件从-到,它是移动像一个消息?或者把问题放在不同的地方,ApacheCamel是否获取一个文件,将其包装为消息,并将其路由到bean或组件? 我的理解是正确的还是错误的。