[ 
https://issues.apache.org/jira/browse/OPENEJB-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13060633#comment-13060633
 ] 

Ivan commented on OPENEJB-1624:
-------------------------------

The new patch looks to me is incorrect, it might close those unwanted jar files.
I am investigating this issue a bit, and it looks to me that there are more 
issues except the URISyntxException, it could not close all the target jar 
files.
e.g. Use the codes below to make the jar file to be cached :
URL entryURL = new 
URL("jar:file:E:/m2/org/apache/geronimo/plugins/console-tomcat/3.0-SNAPSHOT/console-tomcat-3.0-SNAPSHOT.car!/META-INF/MANIFEST.MF");
        URLConnection connection = entryURL.openConnection();
Current codes will not close the cached jar files, even if the e:\ is passed as 
the jarLocation parameter. I will propose another patch later.

> "java.net.URISyntaxException: Illegal character in path" in ClassLoaderUtil
> ---------------------------------------------------------------------------
>
>                 Key: OPENEJB-1624
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-1624
>             Project: OpenEJB
>          Issue Type: Bug
>          Components: container system, deployment
>    Affects Versions: 4.0
>         Environment: OS:windows xp, 2003
>            Reporter: viola.lu
>            Assignee: Ivan
>            Priority: Minor
>             Fix For: 4.0
>
>         Attachments: OpenEJB-1624.patch, OpenEJB-1624.patch
>
>
> This is from geronimo jira: 
> https://issues.apache.org/jira/browse/GERONIMO-5930
> If put server under a directory containing space, deploy app will result in 
> errors:
> 2011-04-26 14:19:02,671 ERROR [OpenEJB] Unable to clear Sun JarFileFactory 
> cache
> java.net.URISyntaxException: Illegal character in path at index 20: 
> file:///C:/Documents and 
> Settings/myDir/geronimo-tomcat7-javaee6-3.0-SNAPSHOT/repository/org/eclipse/osgi/3.6.0.v20100517/osgi-3.6.0.v20100517.jar
> at java.net.URI$Parser.fail(URI.java:2820)
> at java.net.URI$Parser.checkChars(URI.java:2993)
> at java.net.URI$Parser.parseHierarchical(URI.java:3077)
> at java.net.URI$Parser.parse(URI.java:3025)
> at java.net.URI.<init>(URI.java:589)
> at 
> org.apache.openejb.ClassLoaderUtil.clearSunJarFileFactoryCacheImpl(ClassLoaderUtil.java:335)
> at 
> org.apache.openejb.ClassLoaderUtil.clearSunJarFileFactoryCache(ClassLoaderUtil.java:304)
> at 
> org.apache.openejb.ClassLoaderUtil.destroyClassLoader(ClassLoaderUtil.java:277)
> at 
> org.apache.openejb.ClassLoaderUtil.destroyClassLoader(ClassLoaderUtil.java:123)
> at 
> org.apache.geronimo.openejb.deployment.EjbModuleBuilder.releaseTempClassLoader(EjbModuleBuilder.java:1238)
> at 
> org.apache.geronimo.openejb.deployment.EjbModuleBuilder.createModule(EjbModuleBuilder.java:330)
> at 
> org.apache.geronimo.openejb.deployment.EjbModuleBuilder.createModule(EjbModuleBuilder.java:290)
> at 
> org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.createModule(TomcatModuleBuilder.java:360)
> at 
> org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.createModule(AbstractWebModuleBuilder.java:267)
> at 
> org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.createModule(SwitchingModuleBuilder.java:103)
> at 
> org.apache.geronimo.j2ee.deployment.EARConfigBuilder.getDeploymentPlan(EARConfigBuilder.java:338)
> at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:233)
> at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:138)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> at 
> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
> at 
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:131)
> at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:872)
> at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:245)
> at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:344)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> at 
> org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
> at 
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:131)
> at 
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:872)
> at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:245)
> at 
> org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:172)
> at 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:848)
> at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:773)
> at 
> javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1438)
> at 
> javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:83)
> at 
> javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1276)
> at java.security.AccessController.doPrivileged(AccessController.java:284)
> at 
> javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1378)
> at 
> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:799)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
> at sun.rmi.transport.Transport$1.run(Transport.java:171)
> at java.security.AccessController.doPrivileged(AccessController.java:284)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:167)
> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:547)
> at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:802)
> at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:661)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
> at java.lang.Thread.run(Thread.java:736)
> 2011-04-26 14:19:02,687 INFO [DeploymentContext] The Strict Manifest 
> Classpath processing mode is in effect.
> This option can be altered by specifying 
> -DXorg.apache.geronimo.deployment.LenientMFCP=true|false
> Specify ="true" for more lenient processing such as ignoring missing jars and 
> references that are not spec compliant.
> 2011-04-26 14:19:02,921 WARN [startup] Unresolved ejb reference 
> "org.apache.geronimo.javaee6.asynejb.servlet.testServlet/myEJB" in bean 
> "GeronimoEnc". Will attempt resolution again at runtime.
> 2011-04-26 14:19:02,921 WARN [startup] Unresolved ejb reference 
> "org.apache.geronimo.javaee6.asynejb.servlet.writeDBServlet/myEJB" in bean 
> "GeronimoEnc". Will attempt resolution again at runtime.
> 2011-04-26 14:19:03,234 WARN [startup] Unresolved ejb reference 
> "org.apache.geronimo.javaee6.asynejb.servlet.testServlet/myEJB" in bean 
> "GeronimoEnc". Will attempt resolution again at runtime.
> 2011-04-26 14:19:03,234 WARN [startup] Unresolved ejb reference 
> "org.apache.geronimo.javaee6.asynejb.servlet.writeDBServlet/myEJB" in bean 
> "GeronimoEnc". Will attempt resolution again at runtime.
> 2011-04-26 14:19:03,250 WARN [startup] Unresolved ejb reference 
> "org.apache.geronimo.javaee6.asynejb.servlet.testServlet/myEJB" in bean 
> "GeronimoEnc". Will attempt resolution again at runtime.
> 2011-04-26 14:19:03,250 WARN [startup] Unresolved ejb reference 
> "org.apache.geronimo.javaee6.asynejb.servlet.writeDBServlet/myEJB" in bean 
> "GeronimoEnc". Will attempt resolution again at runtime.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to