我确信我错过了一些非常明显的东西,但还没有解决。
我们使用bindy将CSV文件提取到POJO中。这一直很好,很好。我们已经获得了一些要加载的CSV文件。这是我发现问题的地方。如果您执行包扫描,Bindy不允许多个类使@CsvRecord
注释生活在同一个包中。但是没关系,因为我们使用camel 2.13.3并且我可以看到BindyCsvDataFormat
的构造函数允许我们传入一个类。
我遇到的问题是,我们使用spring.xml
来设置camel
。我似乎无法让BindyCsvDataFormat
使用类构造函数。它只会使用进行包扫描的那个。
<bean id="bindyDataformat" class="org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat">
<constructor-arg value="com.something.package.Model.class" />
</bean>
以上不起作用。我怀疑它是在我传递一个字符串constructor-arg
所以总是调用字符串构造函数。
有没有办法让BindyCsvDataFormat
不进行包扫描,并允许我提供我希望在spring.xml
中解组的csv数据的类?
答案 0 :(得分:0)
您要做的不是特定于bindy。这是一个常见的问题,你需要通过Spring DI注入Class
的“值”。
这是一个描述如何正确传递类参数的链接:
pass "HardCoded" Constructor Arg Class<T> to bean via Spring Config