Hello.
I'm migrating camel projects from old Camel 2.x to Camel 3.21.
Camel routes are deployed as OSGi blueprints to be executed in Karaf.
I have a strange exception I had not before about some Groovy classes
that are not found while the groovy scripts seem to be executed.
My bundle manifest declares a dynamic import for groovy scripting (and quartz) :
DynamicImport-Package =
groovy.*,
org.codehaus.groovy.*,
org.apache.camel.pollconsumer.*
But classes in package groovy.xml are not resolved as expected.
Statements like this :
<setProperty name="myAliceXML">
<groovy>new groovy.xml.XmlParser().parse(request.getBody(File.class))</groovy>
</setProperty>
Fails with the following error :
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script_bb14d11f44acc4f9bf59e5db81b864e4.groovy: 3: unable to resolve
class groovy.xml.XmlParser
When I check exports and imports, all seems to be ok :
admin@root()> exports | grep groovy.xml
groovy.xml
│ 3.0.8 │ 883 │ groovy
admin@root()> imports | grep groovy | grep 975
groovy.*
(0x │ │ 975 │
caterpillar-switch
org.codehaus.groovy.*
(0x │ │ 975 │
caterpillar-switch
What has changed in groovy scripting that could be the cause of these
errors ? It seems the script classloader doesn't include the dynamic
import.
Thanks for your help.
Regards.