如何在不同的camel路由上的方法之间共享对象

我在网上搜索没有运气的东西,我觉得这很简单,但显然不是。
我想要做的就是在一个在camel路由中调用的方法中创建一个HashSet,然后将这个HashSet传递给另一个camel路由中的方法。
我的搜索返回的是我应该使用缓存,但我找不到任何示例(一个简单的例子),它将告诉我如何实现它。
第一个路径中的方法“findProperties”创建一个HashSet,我想在“parseFile”方法的第二个路径中使用它。

from("file:{{List}}?noop=true") .autoStartup(true) .unmarshal().csv() .to("bean:ParserUtils?method=findProperties") .end(); from("file:{{Path}}?move={{processedPath}}") .autoStartup(true) .unmarshal().csv() .to("bean:Parser?method=parseFile") .end() 

我真的很感激在缓存或其他解决方案中获取和设置对象的简单示例。

因为你的第一条路线没有调用你的第二条路线,所以它们之间没有传递信息来传递数据…所以是的,你需要使用一些外部手段来访问路由/线程之间共享的数据……

这可以像ParserUtils实例中的类/静态级别变量一样简单,也可以使用camel-cache (ehcache等), camel-hazelcast等…选择是你的

这里有一些使用camel-cache的例子……

https://svn.apache.org/repos/asf/camel/trunk/components/camel-cache/src/test/java/org/apache/camel/component/cache/CacheProducerTest.java