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 2009/01/09 08:25:59 UTC

[jira] Assigned: (CAMEL-1035) ResolverUtil under Eclipse RPC (OSGi) error: Could not read entries in url: bundleresource://36/org/apache/camel/converter

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

Willem Jiang reassigned CAMEL-1035:
-----------------------------------

    Assignee: Willem Jiang

> ResolverUtil under Eclipse RPC (OSGi) error: Could not read entries in url: bundleresource://36/org/apache/camel/converter
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-1035
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1035
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 1.5.0
>            Reporter: Eduard Hildebrandt
>            Assignee: Willem Jiang
>
> Using Apache Camel 1.5-SNAPSHOT with Eclipse RCP 3.x I get a java.io.FileNotFoundException on loading the converters (see stacktrace below). 
> It seems that issue CAMEL-774 is not fixed. 
> I tried to debug the source code: 
> --- SOURCE: ResolverUtil.java ---- 
>             Method mth = loader.getClass().getMethod("getBundle", new Class[] {}); 
>             if (mth != null) { 
>                 // it's osgi bundle class loader, so we need to load implementation in bundles 
>                 if (LOG.isDebugEnabled()) { 
>                     LOG.debug("Loading from osgi buindle using classloader: " + loader); 
>                 } 
>                 loadImplementationsInBundle(test, packageName, loader, mth); 
>                 return; 
>             } 
> --- END SOURCE --- 
> "loader.getClass().getMethod("getBundle", new Class[] {});" returns null because the loader is of type "org.eclipse.core.runtime.internal.adaptor.ContextFinder" and does not have a "getBundle" method.
> Please see discussion at: http://www.nabble.com/ResolverUtil-under-Eclipse-RPC-(OSGi)-error%3A-Could-not-read-entries-in-url%3A-bundleresource%3A--36-org-apache-camel-converter-to20205017s22882.html
> Sample project can be downloaded at: http://www.fastshare.org/download/eclipse_camel_test.zip
> Unzip the project and import it to you Eclipse Workspace.
> You have to use Eclipse because it's an Eclipse plugin.
> Instructions to start the project:
> 1.	Download, unzip and start an ActiveMQ server.
> 2.	Run "ServiceServer" as "Java-Application".
> 3.	Open plugin.xml and click on "Launch an Eclipse Application";
> 4.	A new Eclipse instance will be start. Select "Sample Menu"  "Sample Action" in the new Eclipse window.
> 5.	Check the errors in the console view.
> --- START TRACE LOG ---
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil findAnnotated
> FEIN: Searching for annotations of org.apache.camel.Converter in packages:
> [org.apache.camel.converter, org.apache.camel.spring.converter]
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: Searching for: annotated with @Converter in package:
> org/apache/camel/converter using classloader:
> org.eclipse.core.runtime.internal.adaptor.ContextFinder
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: It's not an osgi bundle classloader
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil getResources
> AM FEINSTEN: Getting resource URL for package: org/apache/camel/converter
> with classloader:
> org.eclipse.core.runtime.internal.adaptor.ContextFinder@983d95
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: URL from classloader:
> bundleresource://36/org/apache/camel/converter
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: Decoded urlPath: /org/apache/camel/converter
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: Scanning for classes in [/org/apache/camel/converter] matching
> criteria: annotated with @Converter
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> WARNUNG: Could not read entries in url:
> bundleresource://36/org/apache/camel/converter
> java.io.FileNotFoundException: \org\apache\camel\converter (Das System kann
> den angegebenen Pfad nicht finden)
>         at java.io.FileInputStream.open(Native Method)
>         at java.io.FileInputStream.<init>(FileInputStream.java:106)
>         at org.apache.camel.util.ResolverUtil.find(ResolverUtil.java:371)
>         at org.apache.camel.util.ResolverUtil.find(ResolverUtil.java:279)
>         at org.apache.camel.util.ResolverUtil.findAnnotated(ResolverUtil.java:255)
>         at
> org.apache.camel.impl.converter.AnnotationTypeConverterLoader.load(AnnotationTypeConverterLoader.java:66)
>         at
> org.apache.camel.impl.converter.DefaultTypeConverter.checkLoaded(DefaultTypeConverter.java:218)
>         at
> org.apache.camel.impl.converter.DefaultTypeConverter.convertTo(DefaultTypeConverter.java:64)
>         at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:59)
>         at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:50)
>         at
> org.apache.camel.processor.interceptor.TraceFormatter.getBodyAsString(TraceFormatter.java:115)
>         at
> org.apache.camel.processor.interceptor.TraceFormatter.format(TraceFormatter.java:39)
>         at
> org.apache.camel.processor.interceptor.TraceInterceptor.format(TraceInterceptor.java:68)
>         at org.apache.camel.processor.Logger.logMessage(Logger.java:218)
>         at org.apache.camel.processor.Logger.process(Logger.java:88)
>         at
> org.apache.camel.processor.interceptor.TraceInterceptor.logExchange(TraceInterceptor.java:124)
>         at
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:55)
>         at
> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
>         at
> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
>         at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
>         at
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
>         at
> org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:47)
>         at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:149)
>         at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:134)
>         at
> org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:92)
>         at
> org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:74)
>         at
> org.apache.camel.component.cxf.transport.CamelConduit$CamelOutputStream.commitOutputMessage(CamelConduit.java:168)
>         at
> org.apache.camel.component.cxf.transport.CamelConduit$CamelOutputStream.doClose(CamelConduit.java:151)
>         at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
>         at
> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47)
>         at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:159)
>         at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>         at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
>         at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>         at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178)
>         at $Proxy84.gibAlleDimensionenUndDescriptoren(Unknown Source)
>         at
> net.enbw.etg.rcm.pfc.marktdaten.MarktDatenProviderImpl.getAlleDimensionenUndDescriptoren(MarktDatenProviderImpl.java:183)
>         at
> net.enbw.etg.rcm.pfc.proxies.ServiceLocator.getAlleDimensionenUndDeskriptoren(ServiceLocator.java:187)
>         at
> net.enbw.etg.rcm.pfc.view.navigator.Navigator$2.doInBackground(Navigator.java:181)
>         at
> net.enbw.etg.rcm.pfc.view.navigator.Navigator$2.doInBackground(Navigator.java:1)
>         at javax.swing.SwingWorker$1.call(SwingWorker.java:278)
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>         at javax.swing.SwingWorker.run(SwingWorker.java:317)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>         at java.lang.Thread.run(Thread.java:619)
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: Searching for: annotated with @Converter in package:
> org/apache/camel/converter using classloader:
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: It's not an osgi bundle classloader
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil getResources
> AM FEINSTEN: Getting resource URL for package: org/apache/camel/converter
> with classloader:
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@cec0c5
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: URL from classloader:
> bundleresource://36/org/apache/camel/converter
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: Decoded urlPath: /org/apache/camel/converter
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: Scanning for classes in [/org/apache/camel/converter] matching
> criteria: annotated with @Converter
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> WARNUNG: Could not read entries in url:
> bundleresource://36/org/apache/camel/converter
> java.io.FileNotFoundException: \org\apache\camel\converter (Das System kann
> den angegebenen Pfad nicht finden)
>         at java.io.FileInputStream.open(Native Method)
>         at java.io.FileInputStream.<init>(FileInputStream.java:106)
>         at org.apache.camel.util.ResolverUtil.find(ResolverUtil.java:371)
>         at org.apache.camel.util.ResolverUtil.find(ResolverUtil.java:279)
>         at org.apache.camel.util.ResolverUtil.findAnnotated(ResolverUtil.java:255)
>         at
> org.apache.camel.impl.converter.AnnotationTypeConverterLoader.load(AnnotationTypeConverterLoader.java:66)
>         at
> org.apache.camel.impl.converter.DefaultTypeConverter.checkLoaded(DefaultTypeConverter.java:218)
>         at
> org.apache.camel.impl.converter.DefaultTypeConverter.convertTo(DefaultTypeConverter.java:64)
>         at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:59)
>         at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:50)
>         at
> org.apache.camel.processor.interceptor.TraceFormatter.getBodyAsString(TraceFormatter.java:115)
>         at
> org.apache.camel.processor.interceptor.TraceFormatter.format(TraceFormatter.java:39)
>         at
> org.apache.camel.processor.interceptor.TraceInterceptor.format(TraceInterceptor.java:68)
>         at org.apache.camel.processor.Logger.logMessage(Logger.java:218)
>         at org.apache.camel.processor.Logger.process(Logger.java:88)
>         at
> org.apache.camel.processor.interceptor.TraceInterceptor.logExchange(TraceInterceptor.java:124)
>         at
> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:55)
>         at
> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
>         at
> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
>         at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
>         at
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
>         at
> org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:47)
>         at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:149)
>         at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:134)
>         at
> org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:92)
>         at
> org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:74)
>         at
> org.apache.camel.component.cxf.transport.CamelConduit$CamelOutputStream.commitOutputMessage(CamelConduit.java:168)
>         at
> org.apache.camel.component.cxf.transport.CamelConduit$CamelOutputStream.doClose(CamelConduit.java:151)
>         at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
>         at
> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47)
>         at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:159)
>         at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>         at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:296)
>         at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:242)
>         at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>         at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:178)
>         at $Proxy84.gibAlleDimensionenUndDescriptoren(Unknown Source)
>         at
> net.enbw.etg.rcm.pfc.marktdaten.MarktDatenProviderImpl.getAlleDimensionenUndDescriptoren(MarktDatenProviderImpl.java:183)
>         at
> net.enbw.etg.rcm.pfc.proxies.ServiceLocator.getAlleDimensionenUndDeskriptoren(ServiceLocator.java:187)
>         at
> net.enbw.etg.rcm.pfc.view.navigator.Navigator$2.doInBackground(Navigator.java:181)
>         at
> net.enbw.etg.rcm.pfc.view.navigator.Navigator$2.doInBackground(Navigator.java:1)
>         at javax.swing.SwingWorker$1.call(SwingWorker.java:278)
>         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>         at javax.swing.SwingWorker.run(SwingWorker.java:317)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>         at java.lang.Thread.run(Thread.java:619)
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: Searching for: annotated with @Converter in package:
> org/apache/camel/spring/converter using classloader:
> org.eclipse.core.runtime.internal.adaptor.ContextFinder
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: It's not an osgi bundle classloader
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil getResources
> AM FEINSTEN: Getting resource URL for package:
> org/apache/camel/spring/converter with classloader:
> org.eclipse.core.runtime.internal.adaptor.ContextFinder@983d95
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: No URLs returned by classloader
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: Searching for: annotated with @Converter in package:
> org/apache/camel/spring/converter using classloader:
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil find
> AM FEINSTEN: It's not an osgi bundle classloader
> 28.10.2008 16:18:17 org.apache.camel.util.ResolverUtil getResources
> AM FEINSTEN: Getting resource URL for package:
> org/apache/camel/spring/converter with classloader:
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@cec0c5
> --- END TRACE LOG ---

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