Apache Camel:直接使用文件

时间:2014-08-22 20:06:55

标签: jms apache-camel

我想做的是拥有一个" 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达成协议?

1 个答案:

答案 0 :(得分:3)

您可以进行消息转换,将主体设置为要读取的文件的java.io.File

from ('direct:this')
  .transform(simple("file:/tmp/${body}", java.io.File.class))
  .split(body().tokenize('\n'))...etc