Uploaded image for project: 'Seam 2'
  1. Seam 2
  2. JBSEAM-4367

clustering and replication calls hashCode and injection fails.

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 2.1.1.GA
    • Fix Version/s: 2.2.1.CR2
    • Component/s: None
    • Labels:
      None
    • Environment:

      JBoss 5.0.1

    • Workaround Description:
      Hide

      make all attributes @In(required=false) AND @Out(required=false) which is very very annoying.

      Show
      make all attributes @In(required=false) AND @Out(required=false) which is very very annoying.

      Description

      Seam seems to be doing replication after the request is complete(which is cool because replication failure does not affect the application) but when seam or jboss goes to replicate my conversation bean, it happens to have no session context because the request is complete. It then calls hashCode on my Seam bean as seen in the following stack trace and tries to inject a user object which is required. this object comes from the Session but there is no session since the replication is done after the request.

      2009-08-19 11:58:16,939 WARN [org.jboss.web.tomcat.service.session.InstantSnaps
      hotManager./portal] (http-0.0.0.0-8080-5) N/A Failed to replicate session ZBMJye
      XcxwbcSR3R1Ns0Fg__
      org.jboss.seam.RequiredException: @In attribute requires non-null value: fillInP
      arams.user
      at org.jboss.seam.Component.getValueToInject(Component.java:2297)
      at org.jboss.seam.Component.injectAttributes(Component.java:1703)
      at org.jboss.seam.Component.inject(Component.java:1521)
      at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:61)
      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      at org.jboss.seam.persistence.ManagedEntityInterceptor.aroundInvoke(ManagedEntityInterceptor.java:48)
      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      at org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:65)
      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:118)
      at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185)
      at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103)
      at net.voicelog.custom.PageBFillInReportParams_$$javassist_7.hashCode(PageBFillInReportParams$_javassist_7.java)
      at java.util.HashMap$Entry.hashCode(HashMap.java:720)
      at java.util.AbstractMap.hashCode(AbstractMap.java:461)
      at org.jboss.ha.framework.server.SimpleCachableMarshalledValue.<init>(SimpleCachableMarshalledValue.java:74)
      at org.jboss.ha.framework.server.SimpleCachableMarshalledValue.<init>(SimpleCachableMarshalledValue.java:80)
      at org.jboss.web.tomcat.service.session.distributedcache.spi.SessionSerializationFactory.createMarshalleValue(SessionSerializationFactory.java:74)
      at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AbstractJBossCacheService.getMarshalldValue(AbstractJBossCacheService.java:641)
      at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AbstractJBossCacheService.putSession(AbstractJBossCacheService.java:405)
      at org.jboss.web.tomcat.service.session.ClusteredSession.processSessionReplication(ClusteredSession.java:1194)
      at org.jboss.web.tomcat.service.session.JBossCacheManager.processSessionRepl(JBossCacheManager.java:1635)
      at org.jboss.web.tomcat.service.session.JBossCacheManager.storeSession(JBossCacheManager.java:294)
      at org.jboss.web.tomcat.service.session.InstantSnapshotManager.snapshot(InstantSnapshotManager.java:49)
      at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:120)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
      at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
      at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
      at org.jboss.web.tomcat.service.sso.ClusteredSingleSignOn.invoke(ClusteredSingleSignOn.java:672)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Thread.java:619)

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  mgencur Martin Gencur
                  Reporter:
                  deanhiller deanhiller
                • Votes:
                  2 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: