我想做的是拥有一个" jms"发送消息的队列,该消息包含一个包含文件名和"标题的主体" (例如JMSType)表示要切换到的路由。一旦路由被切换(使用"直接:")我希望能够使用消息体中指示的文件,但我不知道该怎么做正常。这就是我的意思(在一种伪代码中):
from('jms:whatToDo')
.choice().header('JMSType')
.when('this').to('direct:this')
.when('that').to('direct:that')
.otherwise().to('direct:nothing')
.end()
from ('direct:this').from('file:/tmp/${jms-body()}?noop=true')
.split(body().tokenize('\n'))...etc
我已经连续4次" s("直接:"和#34;文件:")连续出现了骆驼的错误,但是' s突出我的意思。
任何想法如何与Camel达成协议?
答案 0 :(得分:3)
您可以进行消息转换,将主体设置为要读取的文件的java.io.File
from ('direct:this')
.transform(simple("file:/tmp/${body}", java.io.File.class))
.split(body().tokenize('\n'))...etc