[
https://jira.jboss.org/browse/JBSEAM-4367?page=com.atlassian.jira.plugin....
]
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