You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Michael Feichtegger (JIRA)" <ji...@apache.org> on 2014/11/21 14:29:33 UTC
[jira] [Updated] (CAMEL-8071) DefaultPackageScanClassResolver
unable to handle JAR-Files located at WEB-INF/lib
[ https://issues.apache.org/jira/browse/CAMEL-8071?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Feichtegger updated CAMEL-8071:
---------------------------------------
Description:
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.
was:
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 to not exist.
If you remove in those cases "/my/package" from the File the resolver works perfectly well.
> DefaultPackageScanClassResolver unable to handle JAR-Files located at WEB-INF/lib
> ---------------------------------------------------------------------------------
>
> Key: CAMEL-8071
> URL: https://issues.apache.org/jira/browse/CAMEL-8071
> 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
(v6.3.4#6332)