如何使用骆驼3

时间:2020-04-13 16:19:25

标签: apache-camel

我正在将一个较旧的Camel 2应用程序更新为Camel3。我遇到以下代码块的问题:

String url = "jdbc:mysql://localhost:3306/test";
DataSource dataSource = setupDataSource(url);

SimpleRegistry reg = new SimpleRegistry();
reg.put("myDataSource", dataSource);

CamelContext context = new DefaultCamelContext(reg);

特别是,SimpleRegistry的put方法期望使用Map而不是数据源:

argument mismatch; javax.activation.DataSource cannot be converted to java.util.Map<java.lang.Class<?>,java.lang.Object>)

您能推荐一个修复程序吗?我已经查看了较新的org.apache.camel.main.Main类,但是找不到从SimpleRegistry创建Camel上下文的方法。

1 个答案:

答案 0 :(得分:2)

使用bind方法代替put

请参见Apache Camel 2.x to 3.0 migration guide

SimpleRegistryorg.apache.camel.impl移到org.apache.camel.support。另外,您应该更喜欢使用org.apache.camel.support.DefaultRegistry另外,您应该使用bind操作而不是put将条目添加到SimpleRegistryDefaultRegistry