[jboss-user] [Clustering/JBoss] - [SessionFactoryObjectFactory] Not found

mphansen do-not-reply at jboss.com
Wed Jan 24 05:54:31 EST 2007


Hi,

I'm trying to set up the seam booking example in a cluster. I have two jboss-4.0.5-ga instances installed (with ejb3-clustered support) and an Apache in front of them.

I have made the following changes to the booking application.

1) It now uses a MySQL database which is shared by the two JBoss servers.
2) added distributable tag to web.xml to enable HTTP session replication
3) added @Clustered annotation to SFSB enable replication

I then test the application in the following way:

1) I hit http://localhost/seam-booking/
2) I find a hotel and starts booking it
3) before confirming the booking I close down the jboss instance serving my request.
4) I confirm my booking

At this point the following stack trace is thrown at me:

15:39:45,578 WARN  [SessionFactoryObjectFactory] Not found: 8a808083104f5a8f01104f5a91200000
  | 15:39:45,593 INFO  [Exceptions] no exceptions.xml file found
  | 15:39:45,593 ERROR [Exceptions] redirecting to debug page
  | java.lang.RuntimeException: java.io.IOException
  |         at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContex
  | 
  | t.java:367)
  |         at org.jboss.ejb3.stateful.StatefulBeanContext.getInstance(StatefulBeanContext.java:309)
  |         at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.ja
  | 
  | va:77)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.remoting.ReplicantsManagerInterceptor.invoke(ReplicantsManagerIntercept
  | 
  | or.java:51)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.jav
  | 
  | a:77)
  |         at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationIntercepto
  | 
  | r.java:102)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:1
  | 
  | 06)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:203)
  |         at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98)
  |         at $Proxy153.confirm(Unknown Source)
  |         at org.jboss.seam.example.booking.HotelBooking$$FastClassByCGLIB$$c83b792d.invoke(<generated>)
  |         at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
  |         at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:45)
  |         at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:73)
  |         at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:55)
  |         at org.jboss.seam.interceptors.RemoveInterceptor.removeIfNecessary(RemoveInterceptor.java:39
  | 
  | )
  |         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:585)
  |         at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
  |         at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
  |         at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
  |         at org.jboss.seam.interceptors.ExceptionInterceptor.handleExceptions(ExceptionInterceptor.ja
  | 
  | va:38)
  |         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:585)
  |         at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
  |         at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
  |         at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
  |         at org.jboss.seam.intercept.RootInterceptor.createSeamInvocationContext(RootInterceptor.java
  | 
  | :144)
  |         at org.jboss.seam.intercept.RootInterceptor.invokeInContexts(RootInterceptor.java:129)
  |         at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:102)
  |         at org.jboss.seam.intercept.ClientSideInterceptor.interceptInvocation(ClientSideInterceptor.
  | 
  | java:82)
  |         at org.jboss.seam.intercept.ClientSideInterceptor.intercept(ClientSideInterceptor.java:51)
  |         at org.jboss.seam.example.booking.HotelBooking$$EnhancerByCGLIB$$c93c490c.confirm(<generated>)
  |         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:585)
  |         at com.sun.el.parser.AstValue.invoke(AstValue.java:151)
  |         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
  |         at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
  |         at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
  |         at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:6
  | 
  | 3)
  |         at javax.faces.component.UICommand.broadcast(UICommand.java:106)
  |         at org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:274)
  |         at org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:250)
  |         at org.ajax4jsf.framework.ajax.AjaxViewRoot.processApplication(AjaxViewRoot.java:405)
  |         at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:343)
  |         at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
  |         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
  |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
  | 
  | ava:252)
  |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 
  | 
  |         at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:46)
  |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
  | 
  | ava:202)
  |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 
  | 
  |         at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:32)
  |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
  | 
  | ava:202)
  |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 
  | 
  |         at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:75)
  |         at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:213)
  |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
  | 
  | ava:202)
  |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 
  | 
  |         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  |         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
  | 
  | ava:202)
  |         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 
  | 
  |         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  |         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
  |         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.ja
  | 
  | va:175)
  |         at org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:
  | 
  | 87)
  |         at org.jboss.web.tomcat.tc5.session.JvmRouteValve.invoke(JvmRouteValve.java:84)
  |         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
  |         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  |         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  |         at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
  | 
  | 
  |         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  |         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  |         at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
  |         at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
  |         at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
  |         at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
  |         at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
  |         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
  |         at java.lang.Thread.run(Thread.java:595)
  | Caused by: java.io.IOException
  |         at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersist
  | 
  | er.java:107)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java
  | 
  | :269)
  |         at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:24
  | 
  | 1)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreami
  | 
  | ng(ObjectDescriptorFactory.java:412)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDesc
  | 
  | riptorFactory.java:82)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataCo
  | 
  | ntainer.java:643)
  |         at org.jboss.serial.persister.ArrayPersister.readObjectArray(ArrayPersister.java:196)
  |         at org.jboss.serial.persister.ArrayPersister.readData(ArrayPersister.java:172)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreami
  | 
  | ng(ObjectDescriptorFactory.java:412)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDesc
  | 
  | riptorFactory.java:82)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataCo
  | 
  | ntainer.java:643)
  |         at org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java
  | 
  | :163)
  |         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:343)
  |         at org.jboss.serial.io.MarshalledObject.get(MarshalledObject.java:68)
  |         at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContex
  | 
  | t.java:342)
  |         ... 91 more
  | Caused by: java.lang.reflect.InvocationTargetException
  |         at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source)
  |         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:585)
  |         at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersist
  | 
  | er.java:103)
  |         ... 105 more
  | Caused by: java.io.IOException
  |         at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersist
  | 
  | er.java:107)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java
  | 
  | :269)
  |         at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:24
  | 
  | 1)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreami
  | 
  | ng(ObjectDescriptorFactory.java:412)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDesc
  | 
  | riptorFactory.java:82)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataCo
  | 
  | ntainer.java:643)
  |         at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersist
  | 
  | er.java:353)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java
  | 
  | :273)
  |         at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:24
  | 
  | 1)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreami
  | 
  | ng(ObjectDescriptorFactory.java:412)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDesc
  | 
  | riptorFactory.java:82)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataCo
  | 
  | ntainer.java:643)
  |         at org.jboss.serial.persister.ObjectInputStreamProxy.readObjectOverride(ObjectInputStreamPro
  | 
  | xy.java:68)
  |         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:343)
  |         at java.util.HashMap.readObject(HashMap.java:1013)
  |         ... 109 more
  | Caused by: java.lang.reflect.InvocationTargetException
  |         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:585)
  |         at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersist
  | 
  | er.java:103)
  |         ... 123 more
  | Caused by: java.io.InvalidObjectException: could not resolve session factory during session deserial
  | 
  | ization [uuid=8a808083104f5a8f01104f5a91200000, name=null]
  |         at org.hibernate.impl.SessionFactoryImpl.deserialize(SessionFactoryImpl.java:1056)
  |         at org.hibernate.impl.SessionImpl.readObject(SessionImpl.java:1877)
  |         ... 128 more
  | 15:39:46,265 ERROR [STDERR] 2007-01-23 15:39:46 com.sun.facelets.compiler.TagLibraryConfig loadImpli
  | 
  | cit
  | INFO: Added Library from: jar:file:/C:/Programmer/jboss-4.0.5.GA-cluster/server/node1/./tmp/deploy/t
  | 
  | mp29336jboss-seam-booking.ear-contents/jboss-seam-booking-ex
  | p.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-ui.taglib.xml
  | 15:39:46,265 ERROR [STDERR] 2007-01-23 15:39:46 com.sun.facelets.compiler.TagLibraryConfig loadImpli
  | 
  | cit
  | INFO: Added Library from: jar:file:/C:/Programmer/jboss-4.0.5.GA-cluster/server/node1/./tmp/deploy/t
  | 
  | mp29336jboss-seam-booking.ear-contents/jboss-seam-booking-ex
  | p.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-html.taglib.xml
  | 15:39:46,281 ERROR [STDERR] 2007-01-23 15:39:46 com.sun.facelets.compiler.TagLibraryConfig loadImpli
  | 
  | cit
  | INFO: Added Library from: jar:file:/C:/Programmer/jboss-4.0.5.GA-cluster/server/node1/./tmp/deploy/t
  | 
  | mp29336jboss-seam-booking.ear-contents/jboss-seam-booking-ex
  | p.war/WEB-INF/lib/ajax4jsf.jar!/META-INF/a4j.taglib.xml
  | 15:39:46,296 ERROR [STDERR] 2007-01-23 15:39:46 com.sun.facelets.compiler.TagLibraryConfig loadImpli
  | 
  | cit
  | INFO: Added Library from: jar:file:/C:/Programmer/jboss-4.0.5.GA-cluster/server/node1/./tmp/deploy/t
  | 
  | mp29336jboss-seam-booking.ear-contents/jboss-seam-booking-ex
  | p.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jstl-fn.taglib.xml
  | 15:39:46,328 ERROR [STDERR] 2007-01-23 15:39:46 com.sun.facelets.compiler.TagLibraryConfig loadImpli
  | 
  | cit
  | INFO: Added Library from: jar:file:/C:/Programmer/jboss-4.0.5.GA-cluster/server/node1/./tmp/deploy/t
  | 
  | mp29336jboss-seam-booking.ear-contents/jboss-seam-booking-ex
  | p.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-core.taglib.xml
  | 15:39:46,328 ERROR [STDERR] 2007-01-23 15:39:46 com.sun.facelets.compiler.TagLibraryConfig loadImpli
  | 
  | cit
  | INFO: Added Library from: jar:file:/C:/Programmer/jboss-4.0.5.GA-cluster/server/node1/./tmp/deploy/t
  | 
  | mp29336jboss-seam-booking.ear-contents/jboss-seam-booking-ex
  | p.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jstl-core.taglib.xml
  | 15:39:46,343 ERROR [STDERR] 2007-01-23 15:39:46 com.sun.facelets.compiler.TagLibraryConfig loadImpli
  | 
  | cit
  | INFO: Added Library from: jar:file:/C:/Programmer/jboss-4.0.5.GA-cluster/server/node1/./tmp/deploy/t
  | 
  | mp29336jboss-seam-booking.ear-contents/jboss-seam-booking-ex
  | p.war/WEB-INF/lib/jboss-seam-ui.jar!/META-INF/seam.taglib.xml
  | 15:39:46,546 INFO  [MyfacesConfig] No context init parameter 'org.apache.myfaces.PRETTY_HTML' found,
  | 
  |  using default value true
  | 15:39:46,546 INFO  [MyfacesConfig] No context init parameter 'org.apache.myfaces.ALLOW_JAVASCRIPT' f
  | 
  | ound, using default value true
  | 15:39:46,546 INFO  [MyfacesConfig] Tomahawk jar not available. Autoscrolling, DetectJavascript, AddR
  | 
  | esourceClass and CheckExtensionsFilter are disabled now.
  | 	



Before shutting down the server I check the tomcat cache and the SFSB cache through the JMX console and it looks consistent (through printDetails).

Does anyone have an idea about what is going on? Am I missing some modifications that has to be done to the application before it is cluster-enabled? Can it be some extra Hibernate configuration? 

Note that I have asked this question in the Seam forum and the EJB3 forum. 

http://www.jboss.com/index.html?module=bb&op=viewtopic&t=99749
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=99783



View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4005736#4005736

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4005736



More information about the jboss-user mailing list