[seam-issues] [JBoss JIRA] Commented: (JBSEAM-4367) clustering and replication calls hashCode and injection fails.

Peter Brewer (JIRA) jira-events at lists.jboss.org
Tue Aug 10 10:51:49 EDT 2010


    [ https://jira.jboss.org/browse/JBSEAM-4367?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12543996#action_12543996 ] 

Peter Brewer commented on JBSEAM-4367:
--------------------------------------

An alternative to the suggested work-around is to annotate the hashCode() and toString() methods with @org.jboss.seam.annotations.intercept.BypassInterceptors

This assumes that your hashCode and toString methods do not rely on an bijection/ other interceptors though.

> clustering and replication calls hashCode and injection fails.
> --------------------------------------------------------------
>
>                 Key: JBSEAM-4367
>                 URL: https://jira.jboss.org/browse/JBSEAM-4367
>             Project: Seam
>          Issue Type: Bug
>    Affects Versions: 2.1.1.GA
>         Environment: JBoss 5.0.1
>            Reporter: deanhiller
>
> 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)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list