camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Zhemzhitsky (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CAMEL-4171) ClassNotFoundException in OSGi environment
Date Fri, 01 Jul 2011 12:00:30 GMT
ClassNotFoundException in OSGi environment
------------------------------------------

                 Key: CAMEL-4171
                 URL: https://issues.apache.org/jira/browse/CAMEL-4171
             Project: Camel
          Issue Type: Bug
          Components: camel-core, camel-groovy
    Affects Versions: 2.7.2
            Reporter: Sergey Zhemzhitsky


The problem is in the following method of the GroovyLanguage

@SuppressWarnings("unchecked")
protected Class<Script> parseExpression(String expression) {
    return new GroovyClassLoader().parseClass(expression);
}

It uses the default constructor to create GroovyClassLoader, which uses Thread context classloader,
which may not be equal to the classloader of the bundle where the camel context is defined.



Caused by: java.lang.NoClassDefFoundError: groovy/lang/Script
	at java.lang.ClassLoader.defineClass1(Native Method)[:1.6.0_24]
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)[:1.6.0_24]
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)[:1.6.0_24]
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)[:1.6.0_24]
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:55)
	at groovy.lang.GroovyClassLoader$ClassCollector.createClass(GroovyClassLoader.java:519)
	at groovy.lang.GroovyClassLoader$ClassCollector.onClassNode(GroovyClassLoader.java:536)
	at groovy.lang.GroovyClassLoader$ClassCollector.call(GroovyClassLoader.java:540)
	at org.codehaus.groovy.control.CompilationUnit$11.call(CompilationUnit.java:747)
	at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:932)
	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:509)
	at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:487)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:464)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:287)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:267)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:214)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:224)
	at org.apache.camel.language.groovy.GroovyLanguage.parseExpression(GroovyLanguage.java:44)
	at org.apache.camel.language.groovy.GroovyLanguage.createExpression(GroovyLanguage.java:38)
	at org.apache.camel.language.groovy.GroovyLanguage.createExpression(GroovyLanguage.java:27)
	at org.apache.camel.component.language.LanguageProducer.process(LanguageProducer.java:41)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09]
	at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)[68:org.apache.camel.camel-core:2.6.0.fuse-01-09]
	... 92 more
Caused by: java.lang.ClassNotFoundException: groovy.lang.Script
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)[:1.6.0_24]
	at java.security.AccessController.doPrivileged(Native Method)[:1.6.0_24]
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)[:1.6.0_24]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)[:1.6.0_24]
	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:696)[134:groovy-all:1.7.5]
	at groovy.lang.GroovyClassLoader$InnerLoader.loadClass(GroovyClassLoader.java:449)
	at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:793)[134:groovy-all:1.7.5]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)[:1.6.0_24]
	... 115 more


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message