camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Feichtegger (JIRA)" <>
Subject [jira] [Commented] (CAMEL-8071) DefaultPackageScanClassResolver unable to handle JAR-Files located at WEB-INF/lib
Date Fri, 21 Nov 2014 14:02:33 GMT


Michael Feichtegger commented on CAMEL-8071:

Since we are using 2.13.3 we've thought that it camel-jboss is obsolete.

"From Camel 2.8 onwards there is no longer the need for using this camel-jboss component as
Camel is now capable of loading type converters without package scanning. This requires though
that all 3rd party components with type converter must define the name of the converter classes
as FQN in the META-INF/org/apache/camel/TypeConverter file. See more details at Type Converter.
One exception is if you are using Bindy component as it still needs this JBoss resolver."

> DefaultPackageScanClassResolver unable to handle JAR-Files located at WEB-INF/lib
> ---------------------------------------------------------------------------------
>                 Key: CAMEL-8071
>                 URL:
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.13.2, 2.13.3
>         Environment: Ubuntu 14.04 (64bit)
> JBoss EAP 6.3
> Oracle JDK 1.6.0_45
>            Reporter: Michael Feichtegger
>             Fix For: 2.13.4
> We are creating a WebApplication which also provides camel endpoints.
> One of the endpoints triggers a bindy action to read records from a fixed-length-record
input file. For this purpose we are using camel bindy.
> I this conjuction we discovered that there is an issue when trying to locate those classes
which are annotated with {{@FixedLengthRecord}} since the are located in a JAR-File.
> The project structure looks like this:
> - project-ear
> -- project-war
> --- WEB-INF/lib/project-jar
> If we locate the classes directly at WEB-INF/classes/my/package camel is able to discover
the annotated classes.
> After some debugging we have found out, that {{DefaultPackageScanClassResolver}} is trying
to open an InputStream like this:
> /opt/jboss-eap/current/standalone/deployments/bindy-ear.ear/bindy-ws-0.0.1-SNAPSHOT.war/WEB-INF/lib/bindy-core-0.0.1-SNAPSHOT.jar/my/package/
> which of of course does not exist.
> If you remove in those cases "/my/package" from the File the resolver works perfectly
well since {{loadImplementationsInJar}} will be called correctly.

This message was sent by Atlassian JIRA

View raw message