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

Work on SMX4-325 started by Freeman Fang.

> Fixed the XMLResolver's IOException of JDK 1.5 in XMLResolver bundle
> --------------------------------------------------------------------
>
>                 Key: SMX4-325
>                 URL: https://issues.apache.org/activemq/browse/SMX4-325
>             Project: ServiceMix 4
>          Issue Type: Improvement
>            Reporter: Willem Jiang
>            Assignee: Freeman Fang
>         Attachments: SMX4-325.patch
>
>
> I'm using the servicemix bundle of xmlresolver 1.2 bundle in apache camel for 
> testing the camel-cxf component with PAX-Exam  (JDK 1.5).
> When I try to publish a CXF endpoint, the init process will block about 60 
> second, and throw a ConnectionException.
> From the stack trace, it looks like the CatalogManager is trying to open a 
> connection of FTP.
> After digging the code , I found the Catalog using the URL with the "file" 
> protocol header to open the InputStream.
> So I did a quick fix for it by using the FileInputStream to open the file.
> The original code n Catalog line 852
> {code}
>       inStream = new DataInputStream(base.openStream());
> {code}
> My change in Catalog line 852
> {code}
>         // using FileInputStream instand of URL.openStream()
>         // to walk around the file open timeout issue
>         File f;
>         try {
>             f = new File(base.toURI());
>         } catch(Exception e) {
>             f = new File(base.getPath());
>         }
>         inStream = new DataInputStream(new FileInputStream(f));
> {code}
>   
> [RMI TCP Connection(1)-192.168.0.158] INFO 
> org.springframework.beans.factory.support.DefaultListableBeanFactory - 
> Pre-instantiating singletons in 
> org.springframework.beans.factory.support.defaultlistablebeanfact...@ed9d72: 
> defining beans 
> [cxf,org.apache.cxf.bus.spring.BusApplicationListener,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.endpoint.ServiceContractResolverRegistry,org.apache.cxf.binding.
> corba.CorbaBindingFactory,org.apache.cxf.binding.corba.wsdl.WSDLExtensionRegister#0,org.apache.cxf.jaxws.context.WebServiceContextResourceResolver,org.apache.cxf.jaxws.context.WebServiceContextImpl,org.apache.cxf.binding.soap.SoapBindingFactory,org.apache.cxf.binding.soap.SoapTransportFactory,org.apache.cxf.binding.soap.customEditorConfigurer,org.apache.cxf.binding.xml.XMLBindingFactory,org.apache.cxf.ws.addressing.policy.AddressingAssertionBuilder,org.apache.cxf.ws.addressing.policy.AddressingPolicyInterceptorProvider,org.apache.cxf.ws.addressing.policy.UsingAddressingAssertionBuilder,org.apache.cxf.javascript.JavascriptQueryHandlerRegistry,org.apache.cxf.transport.local.LocalTransportFactory,org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder,org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder,org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider,org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory,org.apache.cxf.management.Instr
> umentationManager,org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory,org.apache.cxf.transport.jms.JMSTransportFactory,org.apache.cxf.binding.object.ObjectBindingFactory,org.apache.cxf.binding.http.HttpBindingFactory,org.apache.cxf.jaxrs.JAXRSBindingFactory,org.apache.cxf.ws.security.policy.WSSecurityPolicyLoader,org.apache.cxf.ws.policy.AssertionBuilderRegistry,org.apache.cxf.ws.policy.PolicyInterceptorProviderRegistry,org.apache.cxf.ws.policy.attachment.external.DomainExpressionBuilderRegistry,org.apache.cxf.ws.policy.attachment.external.EndpointReferenceDomainExpressionBuilder,org.apache.cxf.ws.policy.PolicyBuilder,org.apache.cxf.ws.policy.PolicyEngine,org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider,org.apache.cxf.ws.policy.attachment.ServiceModelPolicyProvider,org.apache.cxf.ws.policy.mtom.MTOMAssertionBuilder,org.apache.cxf.ws.policy.mtom.MTOMPolicyInterceptorProvider,org.apache.cxf.ws.rm.RMManager,org.apache.cxf.ws.rm.policy.RMPolicyI
> nterceptorProvider,org.apache.cxf.ws.rm.RMAssertionBuilder]; root of factory 
> hierarchy
> java.net.ConnectException: Operation timed out
>     at java.net.PlainSocketImpl.socketConnect(Native Method)
>     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
>     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>     at java.net.Socket.connect(Socket.java:520)
>     at java.net.Socket.connect(Socket.java:470)
>     at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
>     at sun.net.NetworkClient.openServer(NetworkClient.java:118)
>     at sun.net.ftp.FtpClient.openServer(FtpClient.java:488)
>     at sun.net.ftp.FtpClient.openServer(FtpClient.java:475)
>     at 
> sun.net.www.protocol.ftp.FtpURLConnection.connect(FtpURLConnection.java:270)
>     at 
> sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(FtpURLConnection.java:352)
>     at java.net.URL.openStream(URL.java:1007)
>     at org.apache.xml.resolver.Catalog.parseCatalogFile(Catalog.java:852)
>     at org.apache.xml.resolver.Catalog.parsePendingCatalogs(Catalog.java:756)
>     at org.apache.xml.resolver.Catalog.parseCatalog(Catalog.java:604)
>     at org.apache.xml.resolver.Catalog.loadSystemCatalogs(Catalog.java:579)
>     at 
> org.apache.xml.resolver.CatalogManager.getPrivateCatalog(CatalogManager.java:695)
>     at 
> org.apache.xml.resolver.CatalogManager.getCatalog(CatalogManager.java:722)
>     at 
> org.apache.xml.resolver.tools.CatalogResolver.initializeCatalogs(CatalogResolver.java:93)
>     at 
> org.apache.xml.resolver.tools.CatalogResolver.<init>(CatalogResolver.java:88)
>     at 
> org.apache.cxf.catalog.OASISCatalogManager.getResolver(OASISCatalogManager.java:69)
>     at 
> org.apache.cxf.catalog.OASISCatalogManager.<init>(OASISCatalogManager.java:58)
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>     at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>     at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>     at 
> org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
>     at 
> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:877)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:839)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>     at java.security.AccessController.doPrivileged(Native Method)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>     at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>     at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>     at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
>     at 
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
>     at 
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
>     at 
> org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:91)
>     at 
> org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:102)
>     at 
> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:93)
>     at 
> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:86)
>     at 
> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:64)
>     at 
> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:53)

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