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

Reply via email to