Brian Leathem created RF-11922:
----------------------------------
Summary: 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
Reporter: Brian Leathem
Fix For: 4.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:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues