Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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
Multithreading ApacheCamel:在多线程中使用split()和resequence()_Multithreading_Split_Apache Camel - Fatal编程技术网

Multithreading ApacheCamel:在多线程中使用split()和resequence()

Multithreading ApacheCamel:在多线程中使用split()和resequence(),multithreading,split,apache-camel,Multithreading,Split,Apache Camel,我有一个关于split()、resequence()与多线程集成的问题。我的(天真的)路线如下所示(缩写以解释问题): 我喜欢完成以下几件事: importProcessor工作应该分布在多个线程上 项目(来自拆分器)应按优先级处理(重新排序) 处理所有拆分对象(从一个文件)时,必须触发exportProcessor 上面代码的问题是,如果我包含了重新排序步骤,则会立即触发导出,并且重新排序本身不起作用。看起来,我不理解驼峰背后的线程模型 非常感谢所有提示 难道您的prioAssign处理器不能

我有一个关于split()、resequence()与多线程集成的问题。我的(天真的)路线如下所示(缩写以解释问题):

我喜欢完成以下几件事:

  • importProcessor工作应该分布在多个线程上
  • 项目(来自拆分器)应按优先级处理(重新排序)
  • 处理所有拆分对象(从一个文件)时,必须触发exportProcessor
  • 上面代码的问题是,如果我包含了重新排序步骤,则会立即触发导出,并且重新排序本身不起作用。看起来,我不理解驼峰背后的线程模型


    非常感谢所有提示

    难道您的prioAssign处理器不能构建一个稍后可以拆分的实体,因此拆分会立即结束,所有内容都会移动到exportProcessor吗

    from("file:input")
        .process(prioAssign)
        .split(body().tokenize("\n")).streaming()
            .resequence().simple("${in.header.prio}").allowDuplicates().reverse()
            .to("direct:process")    
        .end()
        .process(exportProcessor)
    
    from("direct:process")
        .threads(10, 100, "process")
        .process(importProcessor) // take some time for processing