[ 
https://issues.apache.org/jira/browse/CAMEL-20213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen resolved CAMEL-20213.
---------------------------------
    Resolution: Fixed

> camel-core - Dependency injection for @BeanInject for private fields
> --------------------------------------------------------------------
>
>                 Key: CAMEL-20213
>                 URL: https://issues.apache.org/jira/browse/CAMEL-20213
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-jbang, camel-main
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 4.3.0
>
>
> {code}
> import org.apache.camel.Configuration;
> import org.apache.camel.spi.IdempotentRepository;
> import org.apache.camel.processor.idempotent.jdbc.JdbcMessageIdRepository;
> import org.apache.camel.BeanInject;
> import org.apache.camel.BindToRegistry;
> import javax.sql.DataSource;
> @Configuration
> public class Testidempotentrepository {
>     @BeanInject 
>     private DataSource dataSource;
>     @BindToRegistry("Testidempotentrepository")
>     public IdempotentRepository createIdempotentRegistry() {
>         return new JdbcMessageIdRepository(dataSource, "some-key");
>     }
> }
> {code}
> Fails with
> Caused by: java.lang.IllegalArgumentException: Property 'dataSource' is 
> required
>       at 
> org.springframework.jdbc.datasource.DataSourceTransactionManager.afterPropertiesSet(DataSourceTransactionManager.java:235)
>       at 
> org.springframework.jdbc.datasource.DataSourceTransactionManager.<init>(DataSourceTransactionManager.java:146)
>       at 
> org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.createTransactionTemplate(AbstractJdbcMessageIdRepository.java:116)
>       at 
> org.apache.camel.processor.idempotent.jdbc.AbstractJdbcMessageIdRepository.<init>(AbstractJdbcMessageIdRepository.java:77)
>       at 
> org.apache.camel.processor.idempotent.jdbc.JdbcMessageIdRepository.<init>(JdbcMessageIdRepository.java:61)
>       at 
> Testidempotentrepository.createIdempotentRegistry(Testidempotentrepository.java:16)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>       at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:568)
>       at 
> org.apache.camel.support.ObjectHelper.invokeMethod(ObjectHelper.java:425)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to