[
https://issues.apache.org/jira/browse/CAMEL-15622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17206409#comment-17206409
]
Avinash Dongre commented on CAMEL-15622:
----------------------------------------
In the camel-sql component, the parameters map holds the key-value pair for
"datasource" and its configured instance. But this instance is being treated
as "String" and being looked up in the registry. I think we can simply use this
datasource if it turns out to be an instance of the DataSource class otherwise
we can look it up as usual.
{code:java}
@Override
protected Endpoint createEndpoint(String uri, String remaining, Map<String,
Object> parameters) throws Exception {
DataSource target = null;
// endpoint options overrule component configured datasource
DataSource ds = resolveAndRemoveReferenceParameter(parameters,
"dataSource", DataSource.class);
{code}
> Bean name evaluated as string
> -----------------------------
>
> Key: CAMEL-15622
> URL: https://issues.apache.org/jira/browse/CAMEL-15622
> Project: Camel
> Issue Type: Bug
> Components: camel-sql
> Affects Versions: 3.5.0
> Reporter: Adam Ostrožlík
> Priority: Major
>
> Hi,
> I have this stack:
> * camel spring boot starter
> * camel-sql component
> * camel endpoint DSL
> I have this code:
> {code:java}
> .to(sql("classpath:sql/zentiva.sql").dataSource("zentivaDataSource"))
> {code}
> If I use instance of DataSource objekt and set it in
> .datasource(dataSourceBean()) there is actually a problem that camel is
> looking in springbootcamelcontext for the name of the result
> *dataSourceBean.toString()* which might be like HikariDataSource (null).
> Lookup for wrong bean name happens in
> {code:java}
> org.apache.camel.support.CamelContextHelper#mandatoryLookupAndConvert
> {code}
> Route with bean instance is not working properly. As a workaround, we have to
> use name of the bean.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)