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

Christoph Dittberner commented on CAMEL-2663:
---------------------------------------------

A camel-eclipse package sounds very well.

My plugin depends on 
 org.eclipse.osgi,
 org.eclipse.equinox.app,

To use the FileLocator.convert-methode I had to depend on  
org.eclipse.equinox.common,

These are the libs I included in my plugin:
camel-core-2.2.0.jar
camel-spring-2.2.0.jar
camel-spring-integration-2.2.0.jar
commons-management-1.0.jar
camel-mail-2.2.0.jar
mail.jar
spring.jar

spring.jar is the complete spring-framework-2.5.6 package.



> DefaultPackageScanClassResolver can't read entries in an eclipse rcp app 
> because it can't handle bundleresource - protocol
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-2663
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-2663
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.2.0
>         Environment: Windows, Eclipse 3.5.2
>            Reporter: Christoph Dittberner
>            Assignee: Willem Jiang
>         Attachments: EclipsePackageScanClassResolver.java
>
>
> scenario:
> I have an eclipse rcp based app and use the apache camel libs within my 
> plugin, i.e. the libs are one classpath of the plugin. I use a route using 
> camel-mail to process some mailqueues.
> CamelContext context = new DefaultCamelContext();
> context.addRoutes(new RouteBuilder() {
>     public void configure()   {
>         
> from("imaps://mailserver?username=user&password=password&consumer.delay=5000&delete=false&unseen=true")
>             .to("log: new mail");
>    }});
>    context.start();
> When I start my app all seems to be ok. But in my log I get a lot of error 
> messages regarding the loading of converters. If I ask my context to find a 
> converter f.i. to converty to byte[] form inputstream (as I did see in 
> another mail example reagding attachments) I get null because the context 
> can't find one.
> I debugged  deeper into the camel code and it seems that the 
> DefaultPackageScanClassResolver can't load from urls starting with 
> bundleresource like 
> "bundleresource://109.fwk32380043:4/org/apache/camel/component/file/"
> using camel-osgi didn't worked because all camel libs are loaded as inner 
> libs of my single plugin and not as plugins. (loading as plugins didn't 
> worked but thats another problem/bug)
>  
> LOG Messages:
> 2010-04-21 11:15:34,829 DEBUG 
> org.apache.camel.impl.converter.DefaultTypeConverter loadTypeConverters - 
> Loading type converters ...
> 2010-04-21 11:15:34,829 DEBUG 
> org.apache.camel.impl.DefaultPackageScanClassResolver findAnnotated - 
> Searching for annotations of org.apache.camel.Converter in packages: 
> [org.apache.camel.component.file, org.apache.camel.component.bean, 
> org.apache.camel.converter, org.apache.camel.component.mail, 
> org.apache.camel.component.spring.integration.converter]
> 2010-04-21 11:15:34,829 DEBUG 
> org.apache.camel.impl.DefaultPackageScanClassResolver getClassLoaders - The 
> thread context class loader: 
> org.eclipse.core.runtime.internal.adaptor.contextfin...@1a76eff  is used to 
> load the class
> 2010-04-21 11:15:34,829 DEBUG 
> org.apache.camel.impl.DefaultPackageScanClassResolver find - Searching for: 
> annotated with @Converter in package: org/apache/camel/component/file using 
> classloader: org.eclipse.core.runtime.internal.adaptor.ContextFinder
> 2010-04-21 11:15:39,954 DEBUG 
> org.apache.camel.impl.DefaultPackageScanClassResolver getResources - Getting 
> resource URL for package: org/apache/camel/component/file with classloader: 
> org.eclipse.core.runtime.internal.adaptor.contextfin...@1a76eff
> 2010-04-21 11:16:44,970 DEBUG 
> org.apache.camel.impl.DefaultPackageScanClassResolver find - URL from 
> classloader: 
> bundleresource://109.fwk32380043:4/org/apache/camel/component/file/
> 2010-04-21 11:17:01,642 DEBUG 
> org.apache.camel.impl.DefaultPackageScanClassResolver find - Decoded urlPath: 
> /org/apache/camel/component/file/ with protocol: bundleresource
> 2010-04-21 11:23:59,814 DEBUG 
> org.apache.camel.impl.DefaultPackageScanClassResolver find - 
> isLocalFileSystem: false
> 2010-04-21 11:24:00,470 DEBUG 
> org.apache.camel.impl.DefaultPackageScanClassResolver find - Scanning for 
> classes in [/org/apache/camel/component/file/] matching criteria: annotated 
> with @Converter
> 2010-04-21 11:24:16,079 DEBUG 
> org.apache.camel.impl.DefaultPackageScanClassResolver find - Loading from jar 
> using http/https: /org/apache/camel/component/file/
> 2010-04-21 11:24:26,626 DEBUG 
> org.apache.camel.impl.DefaultPackageScanClassResolver find - Cannot read 
> entries in url: 
> bundleresource://109.fwk32380043:4/org/apache/camel/component/file/
> java.net.MalformedURLException: no protocol: /org/apache/camel/component/file/
>       at java.net.URL.<init>(URL.java:567)
>       at java.net.URL.<init>(URL.java:464)
>       at java.net.URL.<init>(URL.java:413)
>       at 
> org.apache.camel.impl.DefaultPackageScanClassResolver.find(DefaultPackageScanClassResolver.java:264)
>       at 
> org.apache.camel.impl.DefaultPackageScanClassResolver.find(DefaultPackageScanClassResolver.java:180)
>       at 
> org.apache.camel.impl.DefaultPackageScanClassResolver.findAnnotated(DefaultPackageScanClassResolver.java:100)
>       at 
> org.apache.camel.impl.converter.AnnotationTypeConverterLoader.load(AnnotationTypeConverterLoader.java:63)
>       at 
> org.apache.camel.impl.converter.DefaultTypeConverter.loadTypeConverters(DefaultTypeConverter.java:361)
>       at 
> org.apache.camel.impl.converter.DefaultTypeConverter.doStart(DefaultTypeConverter.java:384)
>       at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:53)
>       at 
> org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:49)
>       at 
> org.apache.camel.impl.DefaultCamelContext.startServices(DefaultCamelContext.java:1174)
>       at 
> org.apache.camel.impl.DefaultCamelContext.addService(DefaultCamelContext.java:644)
>       at 
> org.apache.camel.impl.DefaultCamelContext.getTypeConverter(DefaultCamelContext.java:691)
>       at 
> org.apache.camel.util.CamelContextHelper.convertTo(CamelContextHelper.java:68)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to