我设法让骆驼使用其CDI模块,但我无法在注册表中注册数据源。我基本上有一个如下所示的SQL路由:
sql:SELECT * FROM INBOX_DFEP WHERE id > :#lastID?dataSource=jdbc/DFEP
我的应用服务器是glassfish 4,我已经注册了一个带有该名称的jdbc资源,就像我通常使用JPA一样。无论如何,骆驼似乎无法为我查找该数据源。
org.apache.camel.NoSuchBeanException: No bean could be found in the registry for: jdbc/DFEP of type: javax.sql.DataSource
我做错了什么?如何使用CDI在camel注册表中注册数据源?
答案 0 :(得分:0)
你可以试试这个:
public class DataSourceFactory {
@Resource(lookup = "jdbc/DFEP")
private javax.sql.DataSource datasource;
@Produces
@Named("queryDatasource")
public javax.sql.DataSource getDatasource() {
return datasource;
}
}
之后你只需将你的改变改为:
sql:SELECT * FROM INBOX_DFEP WHERE id> :#lastID展现dataSource = queryDatasource