【问题标题】:Camel Bindy: providing the class to use in spring.xmlCamel Bindy:提供在 spring.xml 中使用的类
【发布时间】:2015-02-04 11:17:40
【问题描述】:

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

我们使用 bindy 将 CSV 文件提取到 POJO 中。这一直运作良好。我们已经获得了更多的 CSV 文件来加载。这就是我发现问题的地方。如果您进行包扫描,Bindy 不允许多个类将 @CsvRecord 注释放在同一个包中。但这没关系,因为我们使用骆驼 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 数据的类?

【问题讨论】:

  • 是的,它确实有帮助。这实际上是我正在寻找的答案。非常感谢。如果您做出答案,我会将其标记为正确的。

标签: java spring apache-camel bindy


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多