3 Replies Latest reply on Feb 12, 2003 5:23 AM by Sacha Labourey

    JavaBean ClassNotFoundException - jboss-3.0.6_tomcat-4.1.18

    Bernie Wing Newbie

      I have installed jboss-3.0.6_tomcat-4.1.18 on two hosts in one cluster. I'm using the all server configurations. The only changes I have done was add an Pooled Oracle DataSource and replaced the org/jboss/jmx/adaptor/rmi/RMIAdaptor.class with one in the jbossall-client.jar (startup problem, sent to JMX section).
      I have deployed an EAR file on both servers, started a jsession on server1 and then I kill server1. When the next HTTP request goes to server2, I get this exception thrown:
      2003-02-10 14:35:01,306 ERROR [org.jboss.ejb.plugins.LogInterceptor] EJBException:
      javax.ejb.EJBException: java.lang.ClassNotFoundException: MiniWar.FileBean (no security manager: RMI class loader disabled)
      at org.jboss.ha.httpsession.beanimpl.ejb.ClusteredHTTPSessionBeanImpl.unserializeSession(ClusteredHTTPSessionBeanImpl.java:139)
      at org.jboss.ha.httpsession.beanimpl.ejb.ClusteredHTTPSessionBeanImpl.getSession(ClusteredHTTPSessionBeanImpl.java:79)
      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:324)
      at org.jboss.ejb.EntityContainer$ContainerInterceptor.invoke(EntityContainer.java:1194)
      at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchronizationInterceptor.java:330)
      at org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:168)
      at org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:107)
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:204)
      at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:493)
      at org.jboss.ejb.Container.invoke(Container.java:712)
      at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1058)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
      at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)
      at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:102)
      at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77)
      at org.jboss.proxy.ejb.EntityInterceptor.invoke(EntityInterceptor.java:116)
      at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
      at $Proxy34.getSession(Unknown Source)
      at org.jboss.ha.httpsession.server.ClusteredHTTPSessionService.getHttpSession(ClusteredHTTPSessionService.java:132)
      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:324)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
      at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
      at $Proxy33.getHttpSession(Unknown Source)
      at org.jboss.web.catalina.session.ClusterManager.loadSession(ClusterManager.java:516)
      at org.jboss.web.catalina.session.ClusterManager.findSession(ClusterManager.java:238)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:173)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
      at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
      at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
      at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
      at java.lang.Thread.run(Thread.java:536)

      MiniWar.FileBean is a useBean with a scope of session that was attached to my jsession from a JSP. All HTTP calls go to my servlet. I get a couple more of the same exception when my servlet attempts a getSession().
      I have also tried a WAR/JAR files instead of an EAR file and still had the same exception.
      When I create a JAR file of just the MiniWar.FileBean and place it in my server/all/lib directory everything failovers okay. The FileBean.class is in my WAR file's WEB-INF/classes directory already.
      Let me know if you need more info, thanks in advance,
      Bernie