You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Willem Jiang (JIRA)" <ji...@apache.org> on 2010/04/22 10:59:22 UTC

[jira] Assigned: (CAMEL-2663) DefaultPackageScanClassResolver can't read entries in an eclipse rcp app because it can't handle bundleresource - protocol

     [ https://issues.apache.org/activemq/browse/CAMEL-2663?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Willem Jiang reassigned CAMEL-2663:
-----------------------------------

    Assignee: Willem Jiang

> 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.ContextFinder@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.ContextFinder@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.