Apache camel 如何从camel处理器中获取数据

Apache camel 如何从camel处理器中获取数据,apache-camel,Apache Camel,是否可以从camel处理器进行数据采集 早些时候,我使用了camel enpoint: .pollEnrich("smb://domain;login:pwd@host/dir?password=pwd&preMove=backup&move=processed&moveFailed=error&charset=UTF-8", 1000) 但是现在我需要从处理器中调用pollRich。是的,您可以使用ConsumerTemplate从端点进行轮询:谢谢。我尝试过

是否可以从camel处理器进行数据采集

早些时候,我使用了camel enpoint:

.pollEnrich("smb://domain;login:pwd@host/dir?password=pwd&preMove=backup&move=processed&moveFailed=error&charset=UTF-8", 1000)

但是现在我需要从处理器中调用pollRich。

是的,您可以使用
ConsumerTemplate
从端点进行轮询:

谢谢。我尝试过:String text=x.getContext().createConsumerTemplate().receiveBody(“smb://{{directoryPath}}”,2000,String.class);但一段时间后,应用程序给了我java.lang.OutOfMemoryError:无法创建新的本机线程。为什么会出现这种错误?我早就用过了smb://domain;登录:pwd@host/dir?password=pwd&preMove=backup&move=processed&moveFailed=error&charset=UTF-8“,1000),并且在没有OutOfMemoryError错误的情况下工作。请参阅此常见问题解答:谢谢。我们正在使用开关站。请告诉我,拥有生产者/消费者模板的单个实例的正确方法是:公共类MyRoute扩展RouteBuilder{ConsumerTemplate;公共void configure(){from(“s”)吗witchyard://loadFilesrouteId(“文件处理”).process(x->{if(template==null){template=x.getContext().createConsumerTemplate();}String text=template.receiveBodyNoWait(“smb://{{{in_directory}}”,String.class);x.getOut().setBody(text);}}