Я использую верблюд без среды Spring (вместо этого использую CDI). Как установить фильтр для компонента camel-file?
Мой класс фильтра выглядит так:
@Named
@Stateless
public class MyFilter<T> implements GenericFileFilter<T> {
System.out.println("MyFilter was triggered");
.......
Итак, я попробовал это:
<route>
<from uri="file://somewhere?filter=#myFilter"/>
<to uri="...."/>
</route>
Но я получаю:
java.lang.IllegalArgumentException: Could not find a suitable setter for
property: filter as there isn't a setter method with same type:
java.lang.String nor type conversion possible: No type converter
available to convert from type: java.lang.String to the required type:
org.apache.camel.component.file.GenericFileFilter with value #myFilter
Что мне не хватает?
Обновление:
Обратите внимание, что бин зарегистрирован. Если я использую:
<to uri="ejb:java:global/Abc/MyFilter?method=accept"/>
затем в журнале появляется MyFilter was triggered
.
Итак, проблема заключается в настройке фильтра файловых компонентов.