[jboss-jira] [JBoss JIRA] (WFLY-3044) Mojarra's @ViewScoped implementation is not cluster-aware resulting in NotSerializableException

Radoslav Husar (JIRA) issues at jboss.org
Fri Feb 28 10:03:49 EST 2014


Radoslav Husar created WFLY-3044:
------------------------------------

             Summary: Mojarra's @ViewScoped implementation is not cluster-aware resulting in NotSerializableException
                 Key: WFLY-3044
                 URL: https://issues.jboss.org/browse/WFLY-3044
             Project: WildFly
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: JSF
    Affects Versions: 8.0.0.Final
            Reporter: Radoslav Husar
            Assignee: Stan Silvert
            Priority: Critical
             Fix For: 8.0.0.Final


The problem is in ViewScopeContextManager, namely 

{code}
            getContextMap(facesContext).put(contextual, new ViewScopeContextObject(contextual, creational, name));
{code}

probably it needs an artificial ID generated to serve as a key.

Also the ViewScopeContextObject needs to be serializable as well among other things

{code}
class ViewScopeContextObject {
{code}

Issue manifests as

{noformat}[Server:server-one] 19:22:41,564 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (default task-15) ISPN000136: Execution error: org.infinispan.commons.CacheException: java.lang.RuntimeException: Failure to marshal argument(s)  
[Server:server-one] at org.infinispan.commons.util.Util.rewrapAsCacheException(Util.java:581)  
...  
[Server:server-one] at org.infinispan.transaction.tm.DummyTransaction.notifyAfterCompletion(DummyTransaction.java:263)  
[Server:server-one] at org.infinispan.transaction.tm.DummyTransaction.runCommitTx(DummyTransaction.java:312)  
[Server:server-one] at org.infinispan.transaction.tm.DummyTransaction.commit(DummyTransaction.java:69)  
[Server:server-one] at org.infinispan.transaction.tm.DummyBaseTransactionManager.commit(DummyBaseTransactionManager.java:80)  
[Server:server-one] at org.infinispan.batch.BatchContainer.resolveTransaction(BatchContainer.java:101)  
[Server:server-one] at org.infinispan.batch.BatchContainer.endBatch(BatchContainer.java:83)  
[Server:server-one] at org.infinispan.batch.BatchContainer.endBatch(BatchContainer.java:64)  
[Server:server-one] at org.infinispan.CacheImpl.endBatch(CacheImpl.java:777)  
[Server:server-one] at org.infinispan.AbstractDelegatingCache.endBatch(AbstractDelegatingCache.java:53)  
[Server:server-one] at org.wildfly.clustering.web.infinispan.InfinispanBatcher$1.end(InfinispanBatcher.java:56)  
[Server:server-one] at org.wildfly.clustering.web.infinispan.InfinispanBatcher$1.close(InfinispanBatcher.java:46)  
[Server:server-one] at org.wildfly.clustering.web.undertow.session.DistributableSession.requestDone(DistributableSession.java:72)  
[Server:server-one] at io.undertow.servlet.spec.ServletContextImpl.updateSessionAccessTime(ServletContextImpl.java:704) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]  
[Server:server-one] at io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:522) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]  
[Server:server-one] at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:287) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]  
[Server:server-one] at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]  
[Server:server-one] at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:73) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]  
[Server:server-one] at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:146) [undertow-servlet-1.0.0.Final.jar:1.0.0.Final]  
[Server:server-one] at io.undertow.server.Connectors.executeRootHandler(Connectors.java:168) [undertow-core-1.0.0.Final.jar:1.0.0.Final]  
[Server:server-one] at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:687) [undertow-core-1.0.0.Final.jar:1.0.0.Final]  
[Server:server-one] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]  
[Server:server-one] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]  
[Server:server-one] at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]  
[Server:server-one] Caused by: java.lang.RuntimeException: Failure to marshal argument(s)  
[Server:server-one] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.marshallCall(CommandAwareRpcDispatcher.java:333)  
[Server:server-one] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.processSingleCall(CommandAwareRpcDispatcher.java:352)  
[Server:server-one] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:167)  
[Server:server-one] ... 76 more  
[Server:server-one] Caused by: org.infinispan.commons.marshall.NotSerializableException: org.jboss.weld.bean.ManagedBean  
[Server:server-one] Caused by: an exception which occurred:  
[Server:server-one] in object java.util.HashMap at b37422bb  
[Server:server-one] in object org.jboss.as.clustering.marshalling.SimpleMarshalledValue at b37422bb  
[Server:server-one] in object org.infinispan.commands.write.PutKeyValueCommand at db517a36  
[Server:server-one] in object org.infinispan.commands.tx.PrepareCommand at 6fa34718  
{noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list