Я хочу написать маршрут Camel, который читает все xml-файлы в определенном каталоге, а затем вызывает метод Java класса класса, который реализует Processor, чтобы что-то сделать, и распечатать результат на экране.Как создать маршрут верблюда, который ссылается на определенный метод Java?
Например, класс Java называется ScriptProcessor, и у него есть метод обработки:
public class ScriptProcessor implements Processor{
final Script script ;
public ScriptProcessor(Script script){
this.script = script;
}
@Override
public void process(Exchange exchange) throws Exception {
//do something ...
}
}
Таким образом, в настоящее время у меня есть контекст верблюдах с маршрутом, как это:
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="file:?noop=true"/>
<to uri="mock:result"/>
</route>
</camelContext>
Я полагаю что все xml-файлы находятся в одной и той же папке файла с определением контекста Camel («от» тега), и я использую элемент mock для указания адресата маршрута. Я не знаю, как вызвать метод процесса класса ScriptProcessor внутрь, что маршрут Camel. Нужен тег «process» или что-то подобное? Может кто-нибудь мне помочь?
Проверьте документ на [процессоре] (http://camel.apache.org/processor.html). Если вы хотите немного более гибко взглянуть на [bean binding] (http://camel.apache.org/bean-binding.html). – Ralf
@ Ralf Спасибо за ответ. Да, я прочитал документацию о перекрестке процессоров и бобов. Но теперь моя проблема заключается в определении маршрута в XML-файле, а не в нотации Java DSL. Следуя определению в java об использовании компонента, я вставил элемент bean в определение маршрута в XML-файле, но я не могу разрешать ошибки. –
Не могли бы вы обновить свой вопрос с помощью определения маршрута и ошибки, которую вы получаете? В общем, в Spring DSL есть тег с тем же именем для метода в DSL Java. Поэтому, если есть метод 'process (..)', то есть тег '', который выполняет ту же работу. Это очень помогает использовать XML-редактор, который обеспечивает завершение кода, если предоставляется XML-схема (например, редактор XML Eclipse). –
Ralf