Uploaded image for project: 'OpenEJB'
  1. OpenEJB
  2. OPENEJB-1131

JDK 1.6.0 u18 has a ClassCastException in ClassLoaderUtil.clearSunJarFileFactoryCache

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.0.1, 3.1.2
    • Fix Version/s: 3.0.2, 3.1.3, 4.7.0
    • Component/s: container system
    • Labels:
      None
    • Environment:
      Sun JDK 1.6.0 u18. Reproduced on Ubuntu Linux 9.10 x86_64

      Description

      I use OpenEJB for EJB Unit-Test and everything works fine. Today I changed
      the Sun-JDK from version 1.6.0_17 to version 1.6.0_18. Everything works fine
      anymore, but now during the container startup I get this exception:

      INFO - Beginning load:
      C:\development\tools\maven\repository\net\sourceforge\jexcelapi\jxl\2.6\jxl-2.6.jar
      DEBUG - Destroying classLoader URLClassLoader@15628820
      DEBUG - Destroying classLoaders for application
      C:\development\tools\maven\repository\net\sourceforge\jexcelapi\jxl\2.6\jxl-2.6.jar
      DEBUG - Releasing URLs for application
      C:\development\tools\maven\repository\net\sourceforge\jexcelapi\jxl\2.6\jxl-2.6.jar
      DEBUG - Clearing Sun JarFileFactory cache for directory
      C:\development\tools\maven\repository\net\sourceforge\jexcelapi\jxl\2.6\jxl-2.6.jar
      ERROR - Unable to clear Sun JarFileFactory cache
      java.lang.ClassCastException: java.lang.String cannot be cast to
      java.net.URL
      at
      org.apache.openejb.ClassLoaderUtil.clearSunJarFileFactoryCache(ClassLoaderUtil.java:173)
      at
      org.apache.openejb.ClassLoaderUtil.destroyClassLoader(ClassLoaderUtil.java:130)
      at
      org.apache.openejb.ClassLoaderUtil.destroyClassLoader(ClassLoaderUtil.java:97)
      at
      org.apache.openejb.config.DeploymentLoader.load(DeploymentLoader.java:185)
      at
      org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:509)
      at
      org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration(ConfigurationFactory.java:380)
      at
      org.apache.openejb.assembler.classic.Assembler.getOpenEjbConfiguration(Assembler.java:292)
      at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:271)
      at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:137)
      at org.apache.openejb.OpenEJB.init(OpenEJB.java:286)
      at org.apache.openejb.OpenEJB.init(OpenEJB.java:265)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.openejb.loader.OpenEJBInstance.init(OpenEJBInstance.java:36)
      at
      org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:71)
      at
      org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:53)
      at
      org.apache.openejb.client.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:42)
      at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
      at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
      at javax.naming.InitialContext.init(InitialContext.java:223)
      at javax.naming.InitialContext.<init>(InitialContext.java:197)

        Attachments

          Activity

            People

            • Assignee:
              kevan Kevan Miller
              Reporter:
              jgallimore Jonathan Gallimore
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: