camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CAMEL-2663) DefaultPackageScanClassResolver can't read entries in an eclipse rcp app because it can't handle bundleresource - protocol
Date Thu, 22 Apr 2010 09:09:23 GMT

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

Claus Ibsen commented on CAMEL-2663:
------------------------------------

We should just use the common jar. And have it defined as *provided* in the pom.xml.

As its expected the runtime have all the needed jars already. So all you add to is this camel-eclipse
jar

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


Mime
View raw message