2014-09-09 2 views
0

Мне удалось заставить верблюда работать с его CDI-модулем, но я не могу зарегистрировать источники данных в реестре. Я в основном имеют SQL маршрут, который выглядит следующим образом:camel cdi, lookup datasource, предоставленный glassfish

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?

+0

Доступен ли реестр glashfish с помощью JNDI с клиента? Это может быть связано с возвратом camel-cdi для использования JNDi, если он не найден в реестре CDI. –

ответ

0

Вы можете попробовать это:

public class DataSourceFactory { 

@Resource(lookup = "jdbc/DFEP") 
private javax.sql.DataSource datasource; 

@Produces 
@Named("queryDatasource") 
public javax.sql.DataSource getDatasource() { 
    return datasource; 
} 

} 

После того, что вы только должны изменить Toute к:

SQL: SELECT * FROM INBOX_DFEP WHERE ID>: #lastID DataSource = queryDatasource

Смежные вопросы