Apache camel 如何使用驼峰端点管理文件?
我有一个应用程序,可以读取文件夹中的文件,更改其内容并将其写回另一个文件夹。我正在尝试添加与Citrus的集成测试,以便在第一个文件夹中编写一个包含一些内容的文件,并在应用程序修改后检查第二个文件夹中修改的内容 我的问题与回复中提到的使用骆驼路线非常相似,但我对这些概念相当陌生,不知道从哪里开始 我不太理解Apache camel 如何使用驼峰端点管理文件?,apache-camel,citrus-framework,Apache Camel,Citrus Framework,我有一个应用程序,可以读取文件夹中的文件,更改其内容并将其写回另一个文件夹。我正在尝试添加与Citrus的集成测试,以便在第一个文件夹中编写一个包含一些内容的文件,并在应用程序修改后检查第二个文件夹中修改的内容 我的问题与回复中提到的使用骆驼路线非常相似,但我对这些概念相当陌生,不知道从哪里开始 我不太理解标签及其工作原理。到目前为止,我写了以下内容,我只是尝试在文件中写入: 你好 我应该为写些什么? 还有,camelContext的xmlns属性是否已损坏?我有 我真的希望有人能给我一些关
标签及其工作原理。到目前为止,我写了以下内容,我只是尝试在文件中写入:
你好
我应该为
写些什么?
还有,camelContext
的xmlns属性是否已损坏?我有
我真的希望有人能给我一些关于这一切的细节,我很迷茫。欢迎来到Stackoverflow!
在遇到这个问题之前,我还没有听说过Citrus framework,但我对Camel有一点了解,我将尝试在这里为您提供个性化的Camel 101,让您继续前进
第一件事
- CamelContext类似于ApacheCamel集成框架的运行时环境。把它想象成Spring
。你用Camel创建的所有东西都生活在上下文中ApplicationContext
- Camel是一个处理管道。它从某物(
,http
,jms
…)获取输入,对其应用零个或多个处理步骤,并向某物生成输出(文件
,控制台
,磁盘
,…您可以命名)。http
如果我们考虑一个简单的路径,它可能会有两个<代码>端点。A.
使用消费者
、检查和处理入站消息的一个或多个消息的端点
组件以及将最终消息发送到某处的处理器
端点(如存储到磁盘、在测试终端上打印、HTTP post到服务器……)生产者
路由
,它可以从Citrus framework接收消息并将其存储到磁盘,以便您的测试系统可以处理此文件。用Camel的XML DSL将此用例解释为路由定义
direct:
URI表示一个同步使用者
端点。此示例路由所做的是,获取到达消费者的任何输入消息(direct:direct:citrusConsumer
),并将其写入目录C:/hl7/source/
中名为test.hl7
的文件。如果您想在这里获得乐趣,请阅读该组件的其他选项。Citrus Camel还显示名为direct:news
的direct:
组件的用法。一旦上述示例代码中的路线
准备就绪,Citrus可以向direct:citrusConsumer
发送消息与Camel通话
重用您的示例代码,集成将类似于下面的代码片段(请注意对端点uri的更改)
我希望这能帮助你取得成功。谢谢你的回答!它帮助我发现我做错了什么。我正在将端点和camel上下文写入测试文件本身,而不是在Citrus Spring配置文件中。。。我还将您提供的schemaLocation链接放入
标记中,从而识别出camelContext
!