Camel Bindy:提供在spring.xml中使用的类

时间:2015-02-04 11:17:40

标签: java spring apache-camel bindy

我确信我错过了一些非常明显的东西,但还没有解决。

我们使用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数据的类?

1 个答案:

答案 0 :(得分:0)

您要做的不是特定于bindy。这是一个常见的问题,你需要通过Spring DI注入Class的“值”。

这是一个描述如何正确传递类参数的链接:

pass "HardCoded" Constructor Arg Class<T> to bean via Spring Config