[
https://issues.jboss.org/browse/RF-11922?page=com.atlassian.jira.plugin.s...
]
Brian Leathem updated RF-11922:
-------------------------------
Labels: jsf (was: )
Nesting an a4j:actionListener in a composite component results in a
java.io.NotSerializableException
----------------------------------------------------------------------------------------------------
Key: RF-11922
URL:
https://issues.jboss.org/browse/RF-11922
Project: RichFaces
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: component-a4j-core
Affects Versions: 4.1.0.Final
Environment: JBoss AS 7.0.2, mojarra 2.1
Reporter: Brian Leathem
Labels: jsf
Fix For: 5-Future
In the code samples below, an a4j:actionListener is nested in a composite component.
This results in a java.io.NotSerializableException (stack trace below).
{code:title=actionComposite.xhtml}
<composite:interface>
<composite:actionSource name="button" />
<composite:attribute name="render" />
<composite:attribute name="execute" />
<composite:attribute name="value" />
</composite:interface>
<composite:implementation>
<h:commandButton id="button" value="#{cc.attrs.value}">
<composite:insertChildren />
<f:ajax render="#{cc.attrs.render}"
execute="#{cc.attrs.execute}" />
</h:commandButton>
</composite:implementation>
</html>
{code}
{code:title=actionListener.xhtml}
<h:form id="form">
<h:messages id="messages" />
<h:panelGrid columns="1">
<demo:actionComposite render=":form:messages" value="Invoke
listener method in composite component">
<a4j:actionListener for="button"
listener="#{actionListenerBean.handleActionMethodComposite}" />
</demo:actionComposite>
</h:panelGrid>
</h:form>
{code}
{code:title=Stacktrace}
Caused by: java.io.NotSerializableException:
org.richfaces.view.facelets.html.ActionListenerHandler
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164) [:1.6.0_26]
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330) [:1.6.0_26]
at java.util.ArrayList.writeObject(ArrayList.java:570) [:1.6.0_26]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_26]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[:1.6.0_26]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[:1.6.0_26]
at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_26]
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945) [:1.6.0_26]
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469) [:1.6.0_26]
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
[:1.6.0_26]
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) [:1.6.0_26]
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
[:1.6.0_26]
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483) [:1.6.0_26]
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
[:1.6.0_26]
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) [:1.6.0_26]
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330) [:1.6.0_26]
at java.util.ArrayList.writeObject(ArrayList.java:570) [:1.6.0_26]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_26]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[:1.6.0_26]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[:1.6.0_26]
at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_26]
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945) [:1.6.0_26]
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469) [:1.6.0_26]
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
[:1.6.0_26]
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) [:1.6.0_26]
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346) [:1.6.0_26]
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154) [:1.6.0_26]
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346) [:1.6.0_26]
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154) [:1.6.0_26]
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330) [:1.6.0_26]
at java.util.HashMap.writeObject(HashMap.java:1001) [:1.6.0_26]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_26]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[:1.6.0_26]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[:1.6.0_26]
at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_26]
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945) [:1.6.0_26]
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469) [:1.6.0_26]
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
[:1.6.0_26]
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) [:1.6.0_26]
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330) [:1.6.0_26]
at
com.sun.faces.renderkit.ClientSideStateHelper.doWriteState(ClientSideStateHelper.java:325)
[jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
at
com.sun.faces.renderkit.ClientSideStateHelper.writeState(ClientSideStateHelper.java:169)
[jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
at
com.sun.faces.renderkit.ResponseStateManagerImpl.getViewState(ResponseStateManagerImpl.java:135)
[jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
... 28 more
{code}
--
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