Uploaded image for project: 'WildFly Core'
  1. WildFly Core
  2. WFCORE-164

Load sun.rmi.server.UnicastServerRef failed in ServletContextListener.contextInitialized

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 1.0.0.Alpha11
    • None
    • Modules
    • None
    • Hide

      Add this class:
      public class TestServletContextListener implements ServletContextListener {

      @Override
      public void contextInitialized(ServletContextEvent sce)

      { sun.rmi.server.UnicastServerRef ref = new sun.rmi.server.UnicastServerRef(); System.out.println("ref=" + ref); }

      @Override
      public void contextDestroyed(ServletContextEvent sce) {
      }

      }

      In web.xml
      <listener>
      <listener-class>test.TestServletContextListener</listener-class>
      </listener>

      Show
      Add this class: public class TestServletContextListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { sun.rmi.server.UnicastServerRef ref = new sun.rmi.server.UnicastServerRef(); System.out.println("ref=" + ref); } @Override public void contextDestroyed(ServletContextEvent sce) { } } In web.xml <listener> <listener-class>test.TestServletContextListener</listener-class> </listener>

    Description

      Jotm is used for JTA, since I want it works on most Servlet containers. Jotm depend on sun.rmi.server.UnicastServerRef, it can't be loaded by WildFly 8.1.0.Final, the same project works in Jetty 9.

      Stack trace from test project:
      2014-07-29 11:53:20,317 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.undertow.deployment.default-server.default-host./test: org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./test: Failed to start service
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_17]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_17]
      at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_17]
      Caused by: java.lang.NoClassDefFoundError: sun/rmi/server/UnicastServerRef
      at test.TestServletContextListener.contextInitialized(TestServletContextListener.java:10)
      at io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:173)
      at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:190)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:87)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72)
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
      ... 3 more
      Caused by: java.lang.ClassNotFoundException: sun.rmi.server.UnicastServerRef from [Module "deployment.test.war:main" from Service Module Loader]
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) [jboss-modules.jar:1.3.3.Final]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.3.Final]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.3.Final]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.3.Final]
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.3.Final]
      ... 10 more

      I did some debugging, some variables' state in org.jboss.modules.Module.loadModuleClass method:
      systemPackages : [java., sun.reflect., __redirected.]
      className : sun.rmi.server.UnicastServerRef
      path : sun/rmi/server
      paths : some paths point to wildfly/modules/system/layers/base
      loaders : null
      fallbackLoader : null

      Attachments

        Activity

          People

            dlloyd@redhat.com David Lloyd
            zhs_jira Zen Zhong (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: