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

Charles Moulliard commented on CAMEL-7925:
------------------------------------------

You will solve a part of the problem if you restrict the packages to be 
imported (as you propose). But as Groovy will generate class dynamically under 
the name script123456789, they will not be loaded and a classloading exception 
will take place for these classes. This is why until now, the trick to import 
dynamically everything. For sure, this is not a good thing as it breaks the 
OSGI modularity.

> groovy and osgi - Could not initialize class script1413536396719697720774
> -------------------------------------------------------------------------
>
>                 Key: CAMEL-7925
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7925
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-groovy
>         Environment: Apache Karaf 2.2.x
>            Reporter: Charles Moulliard
>            Assignee: Charles Moulliard
>            Priority: Minor
>
> When a camel route is deployed on apache Karaf using a groovy expression to 
> be evaluated we get this error 
> https://gist.github.com/cmoulliard/7294122c47e9c18df399
> Route
> {code}
>               from("direct:launch").routeId("request-token")
>               
>               .onException(HttpOperationFailedException.class)
>                   .handled(true)
>                       .log("An error occurred")
>                   .to("direct:interface-status")
>                   .end()
>               
>               .setHeader(Exchange.HTTP_URI, constant(wayneUriGetSession))
>               .setHeader(Exchange.HTTP_QUERY, constant("User=" + UserName + 
> "&" + "Pass=" + Password))
>               .setHeader(Exchange.HTTP_METHOD, constant("GET"))
>               
>               .to("https4://token-service")
>               .convertBodyTo(String.class)
>               .setHeader("token").groovy("body.replaceAll('\"','')")
> {code}
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class 
> script1413536396719697720774
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)[:1.7.0_51]
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)[:1.7.0_51]
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.7.0_51]
>       at 
> java.lang.reflect.Constructor.newInstance(Constructor.java:526)[:1.7.0_51]
>       at java.lang.Class.newInstance(Class.java:374)[:1.7.0_51]
>       at 
> org.apache.camel.language.groovy.GroovyExpression.instantiateScript(GroovyExpression.java:71)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to