[
https://issues.apache.org/activemq/browse/CAMEL-522?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sameer Gajanan Apte reopened CAMEL-522:
---------------------------------------
Regression: [Regression]
I am using camel 2.0.0 and the application works ok when the codebase attribute starts with "http://..."
However it fails when codebase attribute value starts with "https...."
In the resources section I am putting jar names along with version. e.g.
<jar href="camel-core-2.0.0.jar"/>
<jar href="camel-csv-2.0.0.jar"/>
<jar href="camel-ftp-2.0.0.jar"/>
<jar href="camel-mvel-2.0.0.jar"/>
<jar href="camel-quartz-2.0.0.jar"/>
<jar href="camel-spring-2.0.0.jar"/>
As said earlier with "https" I can see following exception in log file.
2009-11-03 12:00:36,406 [ApplicationMain] WARN efaultPackageScanClassResolver - Could not read entries in url: jar:
https://localhost:8443/tabernus/despatchnotegenerator/camel-ftp-2.0.0.jar!/org/apache/camel/component/file/remotejava.io.FileNotFoundException: https:\localhost:8443\tabernus\despatchnotegenerator\camel-ftp-2.0.0.jar (The filename, directory name, or volume label syntax is incorrect)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at org.apache.camel.impl.DefaultPackageScanClassResolver.find(DefaultPackageScanClassResolver.java:250)
at org.apache.camel.impl.DefaultPackageScanClassResolver.find(DefaultPackageScanClassResolver.java:178)
at org.apache.camel.impl.DefaultPackageScanClassResolver.findAnnotated(DefaultPackageScanClassResolver.java:98)
at org.apache.camel.impl.converter.AnnotationTypeConverterLoader.load(AnnotationTypeConverterLoader.java:62)
at org.apache.camel.impl.converter.DefaultTypeConverter.checkLoaded(DefaultTypeConverter.java:359)
at org.apache.camel.impl.converter.DefaultTypeConverter.doConvertTo(DefaultTypeConverter.java:153)
at org.apache.camel.impl.converter.DefaultTypeConverter.mandatoryConvertTo(DefaultTypeConverter.java:113)
at org.apache.camel.impl.converter.DefaultTypeConverter.mandatoryConvertTo(DefaultTypeConverter.java:107)
at org.apache.camel.util.IntrospectionSupport.convert(IntrospectionSupport.java:270)
at org.apache.camel.util.IntrospectionSupport.setProperty(IntrospectionSupport.java:226)
at org.apache.camel.util.IntrospectionSupport.setProperties(IntrospectionSupport.java:193)
at org.apache.camel.util.EndpointHelper.setProperties(EndpointHelper.java:151)
at org.apache.camel.impl.DefaultComponent.setProperties(DefaultComponent.java:213)
at org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:65)
at org.apache.camel.component.file.GenericFileComponent.createEndpoint(GenericFileComponent.java:35)
at org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:79)
at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:394)
at org.apache.camel.spring.CamelEndpointFactoryBean.createEndpoint(CamelEndpointFactoryBean.java:108)
at org.apache.camel.spring.CamelEndpointFactoryBean.getObject(CamelEndpointFactoryBean.java:54)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport$1.run(FactoryBeanRegistrySupport.java:121)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:116)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:98)
at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1288)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:217)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:168)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:884)
at org.apache.camel.spring.spi.ApplicationContextRegistry.lookup(ApplicationContextRegistry.java:41)
at org.apache.camel.impl.DefaultRouteContext.lookup(DefaultRouteContext.java:124)
at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:111)
at org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
at org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:74)
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:432)
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:126)
at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:569)
at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:924)
at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:901)
at org.apache.camel.spring.SpringCamelContext.maybeDoStart(SpringCamelContext.java:165)
at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:160)
at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:816)
at org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:99)
at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:119)
at org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:469)
at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:383)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.thehutgroup.despatchnotegenerator.GuernseyDespatchNoteGenerator.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Any help is welcome!
Regards,
Sameer
> Problem with scanning Jar files for Converters if application is loaded with webstart
> -------------------------------------------------------------------------------------
>
> Key: CAMEL-522
> URL:
https://issues.apache.org/activemq/browse/CAMEL-522> Project: Apache Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 1.3.0, 1.4.0
> Environment: Windows XP
> Reporter: Andreas Kuhtz
> Assignee: Claus Ibsen
> Fix For: 1.5.0
>
> Attachments: ResolverUtil.patch
>
>
> I've encountered a problem with the scanning of jar files with the @Converter annotation if the Jars are loaded with the webstart classloader. Because the URL starts with _http:_ the conversion to a file fails in ResolverUtil.
> I've attached a patch that uses an UrlResource if the url starts with _http:_ and this works if the jar-resource has the version information added to the jar file in the JNLP-file (like <jar href="camel-core-1.4-SNAPSHOT.jar"/>). But if the version is added separately (like <jar href="activemq-core.jar" version="5.1.0"/>) it fails because the classloader returns the name of the jar-file without the version information (like
http://....../activemq-core.jar) and this file does not exist.
> I'm currently trying if it is possible to check whether the application is started via webstart (there is a class Tool that should only exist in the webstart classloader) and in this case I'll check if the filename of the jar-file is returned correctly. If yes maybe we can provide another patch to get rid of the problem described above.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.