Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache camel 如何使用驼峰端点管理文件?_Apache Camel_Citrus Framework - Fatal编程技术网

Apache camel 如何使用驼峰端点管理文件?

Apache camel 如何使用驼峰端点管理文件?,apache-camel,citrus-framework,Apache Camel,Citrus Framework,我有一个应用程序,可以读取文件夹中的文件,更改其内容并将其写回另一个文件夹。我正在尝试添加与Citrus的集成测试,以便在第一个文件夹中编写一个包含一些内容的文件,并在应用程序修改后检查第二个文件夹中修改的内容 我的问题与回复中提到的使用骆驼路线非常相似,但我对这些概念相当陌生,不知道从哪里开始 我不太理解标签及其工作原理。到目前为止,我写了以下内容,我只是尝试在文件中写入: 你好 我应该为写些什么? 还有,camelContext的xmlns属性是否已损坏?我有 我真的希望有人能给我一些关

我有一个应用程序,可以读取文件夹中的文件,更改其内容并将其写回另一个文件夹。我正在尝试添加与Citrus的集成测试,以便在第一个文件夹中编写一个包含一些内容的文件,并在应用程序修改后检查第二个文件夹中修改的内容

我的问题与回复中提到的使用骆驼路线非常相似,但我对这些概念相当陌生,不知道从哪里开始

我不太理解
标签及其工作原理。到目前为止,我写了以下内容,我只是尝试在文件中写入:


你好
我应该为
写些什么? 还有,
camelContext
的xmlns属性是否已损坏?我有

我真的希望有人能给我一些关于这一切的细节,我很迷茫。

欢迎来到Stackoverflow! 在遇到这个问题之前,我还没有听说过Citrus framework,但我对Camel有一点了解,我将尝试在这里为您提供个性化的Camel 101,让您继续前进

第一件事

  • CamelContext类似于ApacheCamel集成框架的运行时环境。把它想象成Spring
    ApplicationContext
    。你用Camel创建的所有东西都生活在上下文中
  • 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