9 Replies Latest reply on Nov 20, 2007 4:30 PM by asookazian

    BookingListAction SFSB and Serializable interface

    asookazian


      @Stateful
      @Scope(SESSION)
      @Name("bookingList")
      @Restrict("#{identity.loggedIn}")
      @TransactionAttribute(REQUIRES_NEW)
      public class BookingListAction implements BookingList, Serializable


      According to JSR 220:

      "The session bean class is not required to implement the SessionBean interface or the Serializable interface. Interceptor classes for the bean are likewise not required to implement the Serializable interface."
      pg. 68

      So why does the BookingListAction SFSB implement the Serializable interface? What effect does it have to do that (or not)?

      Also, the JSR states:

      “Declaring the session bean’s fields as transient is, in general, discouraged�
      Pg. 65 – JSR 220

      What's the reason?

        • 1. Re: BookingListAction SFSB and Serializable interface
          asookazian

          also, how does this booking project (specifically this SFSB) avoid SerializationExceptions if the Log object is not marked as "transient"?

          • 2. Re: BookingListAction SFSB and Serializable interface
            pmuir

            1) Because it does,I don't think it required (probably left over from when it did)

            2) Not sure, ask on an EJB3 forum

            3) Log is Externalizable.

            • 3. Re: BookingListAction SFSB and Serializable interface
              asookazian

              I searched my server.log from yesterday (25MB) and there was no hit on "SerializationException". When I removed the @Transient annotation on the Seam Log instance, I was able to reproduce the exception after I ran a test case, closed IE tab, opened new tab and clicked URL link. Same app, same test case as yesterday... What's the problem here??

              java.lang.InstantiationException: org.apache.log4j.Logger does not occur (therefore org.jboss.serial.exception.SerializationException: Could not create instance of org.apache.log4j.Logger - org.apache.log4j.Logger
              does not occur)

              @Logger @Transient
              private Log log;


              java.lang.InstantiationException: org.apache.log4j.Logger doesoccur (therefore org.jboss.serial.exception.SerializationException: Could not create instance of org.apache.log4j.Logger - org.apache.log4j.Logger
              does occur)

              @Logger //@Transient
              private Log log;


              javax.faces.FacesException: javax.el.ELException: /adminSecurityAudit.xhtml @49,92 value="#{noteAction.noteText}": Error reading 'noteText' on type org.javassist.tmp.java.lang.Object_$$_javassist_1
               at javax.faces.component.UIOutput.getValue(UIOutput.java:176)
               at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:189)
               at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:320)
               at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:200)
               at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:836)
               at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:279)
               at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:242)
               at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
               at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:282)
               at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
               at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:284)
               at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
               at org.richfaces.renderkit.html.ModalPanelRenderer.doEncodeChildren(ModalPanelRenderer.java:351)
               at org.richfaces.renderkit.html.ModalPanelRenderer.doEncodeChildren(ModalPanelRenderer.java:346)
               at org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:121)
               at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
               at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
               at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
               at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
               at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
               at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
               at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
               at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
               at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
               at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
               at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:118)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
               at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
               at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
               at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
               at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
               at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
               at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
               at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
               at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
               at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
               at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:150)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
               at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
               at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
               at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
               at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
               at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
               at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
               at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
               at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
               at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
               at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
               at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
               at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
               at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
               at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
               at java.lang.Thread.run(Unknown Source)
              Caused by: javax.el.ELException: /adminSecurityAudit.xhtml @49,92 value="#{noteAction.noteText}": Error reading 'noteText' on type org.javassist.tmp.java.lang.Object_$$_javassist_1
               at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
               at javax.faces.component.UIOutput.getValue(UIOutput.java:173)
               ... 64 more
              Caused by: java.lang.RuntimeException: java.io.IOException
               at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:809)
               at org.jboss.ejb3.stateful.StatefulBeanContext.getInstance(StatefulBeanContext.java:740)
               at org.jboss.injection.JndiFieldInjector.inject(JndiFieldInjector.java:62)
               at org.jboss.ejb3.stateful.StatefulContainer.invokePostActivate(StatefulContainer.java:397)
               at org.jboss.ejb3.stateful.StatefulBeanContext.postActivate(StatefulBeanContext.java:381)
               at org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.activateSession(StatefulSessionFilePersistenceManager.java:316)
               at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:387)
               at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:375)
               at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:61)
               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
               at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
               at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
               at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
               at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
               at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
               at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:204)
               at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:100)
               at $Proxy106.getNoteText(Unknown Source)
               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
               at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
               at java.lang.reflect.Method.invoke(Unknown Source)
               at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
               at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
               at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
               at org.jboss.seam.security.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:40)
               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
               at org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:41)
               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
               at org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:32)
               at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
               at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
               at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
               at org.javassist.tmp.java.lang.Object_$$_javassist_1.getNoteText(Object_$$_javassist_1.java)
               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
               at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
               at java.lang.reflect.Method.invoke(Unknown Source)
               at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
               at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
               at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
               at org.jboss.el.parser.AstPropertySuffix.getValue(AstPropertySuffix.java:53)
               at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
               at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
               at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
               ... 65 more
              Caused by: java.io.IOException
               at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:107)
               at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:269)
               at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
               at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
               at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
               at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.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.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
               at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
               at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
               at org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:163)
               at java.io.ObjectInputStream.readObject(Unknown Source)
               at org.jboss.serial.io.MarshalledObject.get(MarshalledObject.java:68)
               at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:780)
               ... 112 more
              Caused by: java.lang.reflect.InvocationTargetException
               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
               at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
               at java.lang.reflect.Method.invoke(Unknown Source)
               at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:103)
               ... 126 more
              Caused by: org.jboss.serial.exception.SerializationException: Could not create instance of org.apache.log4j.Logger - org.apache.log4j.Logger
               at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:342)
               at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:239)
               at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
               at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
               at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
               at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
               at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
               at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
               at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
               at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
               at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
               at org.jboss.serial.persister.ObjectInputStreamProxy.readObjectOverride(ObjectInputStreamProxy.java:68)
               at java.io.ObjectInputStream.readObject(Unknown Source)
               at java.util.ArrayList.readObject(Unknown Source)
               ... 131 more
              Caused by: java.lang.InstantiationException: org.apache.log4j.Logger
               at java.lang.Class.newInstance0(Unknown Source)
               at java.lang.Class.newInstance(Unknown Source)
               at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:334)
               ... 144 more


              • 4. Re: BookingListAction SFSB and Serializable interface
                pmuir

                Provide some details on how to reproduce. Step by step.

                My guess is that something is handling Externalizable properly as given the current (CVS/2GA) implementation of Log there is no way Logger should be serialized/deserialized.

                • 5. Re: BookingListAction SFSB and Serializable interface
                  asookazian

                  Ok, reproduced it (and understand how to reproduce!). using Seam 2.0.0.CR2 of jboss-seam.jar in EAR.

                  1) deploy (packaged or exploded, doesn't matter) and start Jboss 4.2.1.GA

                  2) click URL link in IE7: http://localhost:8080/securityAudit/

                  3) NTLM authentication occurs immediately based on index.html forwarding to login.xhtml and pages.xml config (using JCIFS jar).

                  4) Factory method fires and dataTable loads/renders in xhtml (only one xhtml in this use case).

                  5) There are two SFSB's, one conversation scoped (the "main" one) and one session scoped.

                  6) wait for SFSB's to passivate (I will see the following output in Eclipse console):

                  10:24:57,580 INFO [NoteAction] in prePassivate
                  10:24:57,627 INFO [SecurityAuditAction] in prePassivate


                  7) click the link in the richfaces menu bar to run the use case again (reRender/load the facelet/dataTable).

                  8) immediately see the following stack trace in console in Eclipse.

                  Perhaps it's an issue with my implementation and/or CR2. What's the best way to upgrade a Seam EAR (app) from CR2 to GA??? Can I simply replace the jboss-seam.jar or are there others that need to be replaced as well (I'm thinking the latter). Maybe seam-gen and copy/paste files and config xml info? thx.

                  javax.faces.FacesException: javax.el.ELException: /adminSecurityAudit.xhtml @91,82 value="#{securityAuditAction.securityAuditRadioButtons}": Error reading 'securityAuditRadioButtons' on type org.javassist.tmp.java.lang.Object_$$_javassist_1
                   at javax.faces.component.UISelectItems.getValue(UISelectItems.java:133)
                   at com.sun.faces.renderkit.RenderKitUtils.getSelectItems(RenderKitUtils.java:323)
                   at com.sun.faces.renderkit.html_basic.SelectManyCheckboxListRenderer.encodeEnd(SelectManyCheckboxListRenderer.java:103)
                   at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:836)
                   at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:279)
                   at com.sun.faces.renderkit.html_basic.TableRenderer.encodeChildren(TableRenderer.java:307)
                   at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
                   at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
                   at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
                   at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
                   at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:282)
                   at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
                   at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:199)
                   at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:194)
                   at org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:121)
                   at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
                   at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
                   at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
                   at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
                   at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
                   at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
                   at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
                   at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
                   at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
                   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
                   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                   at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:118)
                   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                   at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                   at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
                   at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                   at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
                   at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                   at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
                   at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                   at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
                   at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                   at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
                   at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
                   at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
                   at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                   at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
                   at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                   at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:150)
                   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                   at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
                   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                   at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
                   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
                   at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
                   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
                   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
                   at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
                   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
                   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
                   at java.lang.Thread.run(Unknown Source)
                  Caused by: javax.el.ELException: /adminSecurityAudit.xhtml @91,82 value="#{securityAuditAction.securityAuditRadioButtons}": Error reading 'securityAuditRadioButtons' on type org.javassist.tmp.java.lang.Object_$$_javassist_1
                   at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
                   at javax.faces.component.UISelectItems.getValue(UISelectItems.java:130)
                   ... 64 more
                  Caused by: java.lang.RuntimeException: java.io.IOException
                   at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:809)
                   at org.jboss.ejb3.stateful.StatefulBeanContext.getInstance(StatefulBeanContext.java:740)
                   at org.jboss.injection.JndiFieldInjector.inject(JndiFieldInjector.java:62)
                   at org.jboss.ejb3.stateful.StatefulContainer.invokePostActivate(StatefulContainer.java:397)
                   at org.jboss.ejb3.stateful.StatefulBeanContext.postActivate(StatefulBeanContext.java:381)
                   at org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.activateSession(StatefulSessionFilePersistenceManager.java:316)
                   at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:387)
                   at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:375)
                   at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:61)
                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                   at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
                   at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                   at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                   at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
                   at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                   at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:204)
                   at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:100)
                   at $Proxy112.getSecurityAuditRadioButtons(Unknown Source)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                   at java.lang.reflect.Method.invoke(Unknown Source)
                   at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
                   at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
                   at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
                   at org.jboss.seam.security.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:40)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                   at org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:41)
                   at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                   at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
                   at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
                   at org.javassist.tmp.java.lang.Object_$$_javassist_1.getSecurityAuditRadioButtons(Object_$$_javassist_1.java)
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                   at java.lang.reflect.Method.invoke(Unknown Source)
                   at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
                   at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
                   at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
                   at org.jboss.el.parser.AstPropertySuffix.getValue(AstPropertySuffix.java:53)
                   at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
                   at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
                   at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
                   ... 65 more
                  Caused by: java.io.IOException
                   at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:107)
                   at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:269)
                   at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
                   at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
                   at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
                   at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.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.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
                   at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
                   at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
                   at org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:163)
                   at java.io.ObjectInputStream.readObject(Unknown Source)
                   at org.jboss.serial.io.MarshalledObject.get(MarshalledObject.java:68)
                   at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:780)
                   ... 110 more
                  Caused by: java.lang.reflect.InvocationTargetException
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                   at java.lang.reflect.Method.invoke(Unknown Source)
                   at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:103)
                   ... 124 more
                  Caused by: org.jboss.serial.exception.SerializationException: Could not create instance of org.apache.log4j.Logger - org.apache.log4j.Logger
                   at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:342)
                   at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:239)
                   at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
                   at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
                   at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
                   at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
                   at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
                   at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
                   at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
                   at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
                   at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
                   at org.jboss.serial.persister.ObjectInputStreamProxy.readObjectOverride(ObjectInputStreamProxy.java:68)
                   at java.io.ObjectInputStream.readObject(Unknown Source)
                   at java.util.ArrayList.readObject(Unknown Source)
                   ... 129 more
                  Caused by: java.lang.InstantiationException: org.apache.log4j.Logger
                   at java.lang.Class.newInstance0(Unknown Source)
                   at java.lang.Class.newInstance(Unknown Source)
                   at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:334)
                   ... 142 more


                  • 6. Re: BookingListAction SFSB and Serializable interface
                    asookazian

                    latest example:

                    13:05:04,718 INFO [NoteAction] in prePassivate
                    13:05:04,765 INFO [SecurityAuditAction] in prePassivate
                    13:05:04,937 INFO [NoteAction] in prePassivate
                    13:27:09,294 WARN [Component] Exception calling component @Destroy method: noteAction
                    java.lang.RuntimeException: java.io.IOException
                     at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:809)
                     at org.jboss.ejb3.stateful.StatefulBeanContext.getInstance(StatefulBeanContext.java:740)
                     at org.jboss.injection.JndiFieldInjector.inject(JndiFieldInjector.java:62)
                     at org.jboss.ejb3.stateful.StatefulContainer.invokePostActivate(StatefulContainer.java:397)
                     at org.jboss.ejb3.stateful.StatefulBeanContext.postActivate(StatefulBeanContext.java:381)
                     at org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.activateSession(StatefulSessionFilePersistenceManager.java:316)
                     at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:387)
                     at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:375)
                     at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:61)
                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                     at org.jboss.ejb3.stateful.StatefulRemoveInterceptor.invoke(StatefulRemoveInterceptor.java:97)
                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                     at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
                     at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                     at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                     at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
                     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                     at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:204)
                     at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:100)
                     at $Proxy108.destroy(Unknown Source)
                     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                     at java.lang.reflect.Method.invoke(Unknown Source)
                     at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
                     at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
                     at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
                     at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
                     at org.jboss.seam.security.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:40)
                     at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                     at org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:41)
                     at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                     at org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:32)
                     at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
                     at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
                     at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
                     at org.javassist.tmp.java.lang.Object_$$_javassist_2.destroy(Object_$$_javassist_2.java)
                     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                     at java.lang.reflect.Method.invoke(Unknown Source)
                     at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
                     at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
                     at org.jboss.seam.Component.callComponentMethod(Component.java:2087)
                     at org.jboss.seam.Component.callDestroyMethod(Component.java:2018)
                     at org.jboss.seam.Component.destroy(Component.java:1336)
                     at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:251)
                     at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:245)
                     at org.jboss.seam.contexts.ServletLifecycle.endSession(ServletLifecycle.java:129)
                     at org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:49)
                     at org.apache.catalina.session.StandardSession.expire(StandardSession.java:702)
                     at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:592)
                     at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:682)
                     at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:667)
                     at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1286)
                     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1571)
                     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1580)
                     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1580)
                     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1560)
                     at java.lang.Thread.run(Unknown Source)
                    Caused by: java.io.IOException
                     at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:107)
                     at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:269)
                     at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
                     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
                     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
                     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.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.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
                     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
                     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
                     at org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:163)
                     at java.io.ObjectInputStream.readObject(Unknown Source)
                     at org.jboss.serial.io.MarshalledObject.get(MarshalledObject.java:68)
                     at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:780)
                     ... 61 more
                    Caused by: java.lang.reflect.InvocationTargetException
                     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                     at java.lang.reflect.Method.invoke(Unknown Source)
                     at org.jboss.serial.persister.RegularObjectPersister.readSlotWithMethod(RegularObjectPersister.java:103)
                     ... 75 more
                    Caused by: org.jboss.serial.exception.SerializationException: Could not create instance of org.apache.log4j.Logger - org.apache.log4j.Logger
                     at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:342)
                     at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:239)
                     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
                     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
                     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
                     at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
                     at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
                     at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
                     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
                     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
                     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
                     at org.jboss.serial.persister.ObjectInputStreamProxy.readObjectOverride(ObjectInputStreamProxy.java:68)
                     at java.io.ObjectInputStream.readObject(Unknown Source)
                     at java.util.ArrayList.readObject(Unknown Source)
                     ... 80 more
                    Caused by: java.lang.InstantiationException: org.apache.log4j.Logger
                     at java.lang.Class.newInstance0(Unknown Source)
                     at java.lang.Class.newInstance(Unknown Source)
                     at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:334)
                     ... 93 more



                    • 7. Re: BookingListAction SFSB and Serializable interface
                      pmuir

                      Ok, you'll need to file a JIRA issue with a reproducible test case.

                      • 8. Re: BookingListAction SFSB and Serializable interface
                        asookazian

                        FYI: I was not able to reproduce this with the 2.0 GA booking project so I'll hold off on the JIRA submission for now...

                        The booking project times out and goes to the login screen after the bean is passivated (may be coincidence, so I changed the timeout to 30 min's and still unable to reproduce)...

                        • 9. Re: BookingListAction SFSB and Serializable interface
                          asookazian

                          I am doing some root cause analysis here to determine the problem.

                          I removed all references to Seam @Logger and Seam Log in both SFSB's involved in this use case.

                          I was still able to reproduce the log4j related exception after passivation occurs and then running another test case:

                          Caused by: org.jboss.serial.exception.SerializationException: Could not create instance of org.apache.log4j.Logger - org.apache.log4j.Logger
                           at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:342)
                           at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:239)
                           at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
                           at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
                           at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
                           at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
                           at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
                           at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
                           at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
                           at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
                           at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
                           at org.jboss.serial.persister.ObjectInputStreamProxy.readObjectOverride(ObjectInputStreamProxy.java:68)
                           at java.io.ObjectInputStream.readObject(Unknown Source)
                           at java.util.ArrayList.readObject(Unknown Source)
                           ... 125 more
                          Caused by: java.lang.InstantiationException: org.apache.log4j.Logger
                           at java.lang.Class.newInstance0(Unknown Source)
                           at java.lang.Class.newInstance(Unknown Source)
                           at org.jboss.serial.classmetamodel.ClassMetaData.newInstance(ClassMetaData.java:334)
                           ... 138 more


                          I did a search for keyword "log4j" in my project and found a log4j.xml file in the {projectName}/bootstrap folder. Not sure exactly what the bootstrap is used for but I think it was new for Seam 2.0. Probably for bootstrapping JPA for JavaSE project? Anyways, that log4j.xml and bootstrap folder are not in my EAR in JBoss default/deploy folder.

                          Root cause is unknown at this time...