[ 
https://issues.apache.org/jira/browse/CAMEL-14597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17042786#comment-17042786
 ] 

Xilai Dai commented on CAMEL-14597:
-----------------------------------

Checked also on released 2.25.0, 3.0.1, and the master branch, the same 
IllegalAccessException is thrown.

In case of Spring/Spring-DM, the SpringInjector is used to create the bean 
instance, where the private default constructor of the class is supported 
properly.
{code}
applicationContext.getBeanFactory().createBean(type, autowireMode, 
dependencyCheck);
{code}

In case of Blueprint, the DefaultInjector is used to create the bean instance, 
but the ObjectHelper.newInstance() seems not properly support the private 
default constructor.
{code}
return type.getDeclaredConstructor().newInstance();
{code}

> camel-blueprint - Using simple language on setProperty() failed with 
> IllegalAccessException in case of blueprint
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-14597
>                 URL: https://issues.apache.org/jira/browse/CAMEL-14597
>             Project: Camel
>          Issue Type: Bug
>          Components: came-core, camel-blueprint
>    Affects Versions: 2.20.1, 2.24.2, 3.0.1, 2.25.0
>         Environment: Java 8, Java 11
>            Reporter: Xilai Dai
>            Priority: Minor
>         Attachments: test-simple-property.zip
>
>
> {code}
> .setProperty("MyProperty").simple("${bean:java.lang.System?method=currentTimeMillis}")
> {code}
> This Java DSL setting Property using simple expression works well in case of 
> the camelContext is created from Spring-DM/Spring configuration.
> But the IllegalAccessException error will be thrown in case of the 
> camelContext is created from blueprint.
> {code}
> Caused by: java.lang.IllegalAccessException: Class 
> org.apache.camel.util.ObjectHelper can not access a member of class 
> java.lang.System with modifiers "private"
>       at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:102) 
> ~[?:1.8.0_201]
>       at java.lang.Class.newInstance(Class.java:436) ~[?:1.8.0_201]
>       at 
> org.apache.camel.util.ObjectHelper.newInstance(ObjectHelper.java:1734) 
> ~[bundleFile:2.24.2]
>       ... 22 more
> {code}
> The minimal project is attached to easy reproduce this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to