You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by allgo <so...@yahoo.co.in> on 2010/08/17 17:05:02 UTC

AjaxFormSubmitBehavior causes serialization issues inside onBeforeRender()

Hi fellow wicket users,
I am a  user of Wicket 1.4.8
I am trying to use a TabbedPanel inside which there are several individual
Panels. Now one of the Panel has a form with quite a few RadioChoices and
DropDownChoice objects. I am updating a top level flag whenevr there is any
change on any form element to trigger a pop-up asking the user to save
un-saved changes on the page when they try to move away from that tabbed
panel to soem other page.

Since there are multiple form elements I am using a onBeforeRender() method
in the ChildPanel class and applying AjaxFormBehaviour on all child elements
at one place to avoid redundancy of code for each radio element or dropdown
element as follows -

protected void onBeforeRender() {

		if (!behaviorAssigned) {
			behaviorAssigned = true;

			visitChildren(new IVisitor<Component>() {
				
				public Object component(Component component) {
					if (component instanceof RadioChoice) {
						component.add(new AjaxFormSubmitBehavior("onclick") {

							@Override
							protected void onError(AjaxRequestTarget target) {
								// TODO Auto-generated method stub
								
							}

							@Override
							protected void onSubmit(AjaxRequestTarget target) {
								parent.setPageChanged(Boolean.TRUE);
								
							}


						});
					}
					if (component instanceof DropDownChoice<?>) {
						component.add(new AjaxFormComponentUpdatingBehavior(
								"onchange") {
							protected void onUpdate(AjaxRequestTarget target) {
								parent.setPageChanged(Boolean.TRUE);
							}
						});
					}
					return null;
				}

			});
			super.onBeforeRender();
		}

Problem is whenever the Panel is loaded I am getting loads of
WicketNotSerializableExceptions -



org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException:
Unable to serialize class: com.mycompany.test.calendar.ChildPanel$7
Field hierarchy is:
  5 [class=com.mycompany.test.HomeBasePage, path=5]
    private java.lang.Object org.apache.wicket.MarkupContainer.children
[class=[Ljava.lang.Object;]
      java.lang.Object org.apache.wicket.Component.data[10]
[class=com.mycompany.test.HomeBasePage$6, path=5:tabs]
        private java.lang.Object org.apache.wicket.MarkupContainer.children
[class=[Ljava.lang.Object;]
          private org.apache.wicket.markup.html.link.PopupSettings
org.apache.wicket.markup.html.link.Link.popupSettings[1]
[class=com.mycompany.test.settings.SettingsLazyPanel, path=5:tabs:panel]
            private java.lang.Object
org.apache.wicket.MarkupContainer.children
[class=com.mycompany.test.settings.SettingsLazyPanel$1,
path=5:tabs:panel:grid]
              private java.lang.Object
org.apache.wicket.MarkupContainer.children
[class=com.mycompany.test.settings.SettingBasePanel,
path=5:tabs:panel:grid:content]
                private java.lang.Object
org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
                  private
org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow$WindowClosedCallback
org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow.windowClosedCallback[1]
[class=com.mycompany.test.settings.SettingBasePanel$6,
path=5:tabs:panel:grid:content:tabs]
                    private java.lang.Object
org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
                      private
org.apache.wicket.markup.html.link.PopupSettings
org.apache.wicket.markup.html.link.Link.popupSettings[1]
[class=com.mycompany.test.calendar.ChildPanel,
path=5:tabs:panel:grid:content:tabs:panel]
                        private java.lang.Object
org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
                          java.lang.Object
org.apache.wicket.Component.data[2]
[class=org.apache.wicket.markup.html.WebMarkupContainer,
path=5:tabs:panel:grid:content:tabs:panel:dayMonthGrid]
                            private java.lang.Object
org.apache.wicket.MarkupContainer.children
[class=com.mycompany.test.calendar.ChildPanel$1,
path=5:tabs:panel:grid:content:tabs:panel:dayMonthGrid:dayMonthView]
                              private java.lang.Object
org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
                                private java.lang.Object
org.apache.wicket.MarkupContainer.children[0]
[class=org.apache.wicket.markup.html.list.ListItem,
path=5:tabs:panel:grid:content:tabs:panel:dayMonthGrid:dayMonthView:0]
                                  private java.lang.Object
org.apache.wicket.MarkupContainer.children
[class=com.mycompany.test.calendar.ChildPanel$1$1,
path=5:tabs:panel:grid:content:tabs:panel:dayMonthGrid:dayMonthView:0:dayMonthButton]
                                    private final
org.apache.wicket.markup.html.WebMarkupContainer
com.mycompany.test.calendar.ChildPanel$1$1.val$availableBox
[class=org.apache.wicket.markup.html.WebMarkupContainer,
path=5:tabs:panel:grid:content:tabs:panel:availableBox]
                                      private java.lang.Object
org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
                                        java.lang.Object
org.apache.wicket.Component.data[1]
[class=org.apache.wicket.markup.html.form.Form,
path=5:tabs:panel:grid:content:tabs:panel:availableBox:form]
                                          private java.lang.Object
org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
                                            private java.lang.Object
org.apache.wicket.MarkupContainer.children[0]
[class=org.apache.wicket.markup.html.form.RadioChoice,
path=5:tabs:panel:grid:content:tabs:panel:availableBox:form:availableOption]
                                              java.lang.Object
org.apache.wicket.Component.data [class=[Ljava.lang.Object;]
                                                java.lang.Object
org.apache.wicket.Component.data[0][1]
[class=com.mycompany.test.calendar.ChildPanel$7$1]
                                                  final
com.mycompany.test.calendar.ChildPanel$7
com.mycompany.test.calendar.ChildPanel$7$1.this$1
[class=com.mycompany.test.calendar.ChildPanel$7] <----- field that is not
serializable
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:346)
at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
	at
org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
	at
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
	at
org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(SerializableChecker.java:684)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
	at
org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:129)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
	at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1124)
	at
org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:203)
	at
org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:840)
	at
org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:332)
	at org.apache.wicket.Session.requestDetached(Session.java:1400)
	at org.apache.wicket.RequestCycle.detach(RequestCycle.java:1176)
	at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1454)
	at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
	at
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
	at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
	at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.NotSerializableException:
com.mycompany.test.calendar.ChildPanel$7
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
	at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)





However when I add the AjaxFormSubmitBehaviour to individual form components
and comment out the onBeforeRender it works fine without any errors..
any clue guys?

Cheers,
Allgo

-- 
View this message in context: http://apache-wicket.1842946.n4.nabble.com/AjaxFormSubmitBehavior-causes-serialization-issues-inside-onBeforeRender-tp2328509p2328509.html
Sent from the Wicket - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: AjaxFormSubmitBehavior causes serialization issues inside onBeforeRender()

Posted by allgo <so...@yahoo.co.in>.
Thanks a lot Igor. That explains it all.
I was able to fix it today by using
visitChildren(ChildPanel.class, new IVisitor<Component>())

instead of 

visitChildren( new IVisitor<Component>())

I guess, else it tries to add teh behaviour to all objects up the hierarchy
instead of restricting itself to only the ones on ChildPanel.class

Thanks,
Allgo
-- 
View this message in context: http://apache-wicket.1842946.n4.nabble.com/AjaxFormSubmitBehavior-causes-serialization-issues-inside-onBeforeRender-tp2328509p2329578.html
Sent from the Wicket - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: AjaxFormSubmitBehavior causes serialization issues inside onBeforeRender()

Posted by Igor Vaynberg <ig...@gmail.com>.
because your behavior is an anonymous class it keeps a reference to
its parent - the visitor. visitors are not serializable. the easiest
way to fix it is to make the behavior you are adding an inner class of
the page.

-igor

On Tue, Aug 17, 2010 at 8:05 AM, allgo <so...@yahoo.co.in> wrote:
>
> Hi fellow wicket users,
> I am a  user of Wicket 1.4.8
> I am trying to use a TabbedPanel inside which there are several individual
> Panels. Now one of the Panel has a form with quite a few RadioChoices and
> DropDownChoice objects. I am updating a top level flag whenevr there is any
> change on any form element to trigger a pop-up asking the user to save
> un-saved changes on the page when they try to move away from that tabbed
> panel to soem other page.
>
> Since there are multiple form elements I am using a onBeforeRender() method
> in the ChildPanel class and applying AjaxFormBehaviour on all child elements
> at one place to avoid redundancy of code for each radio element or dropdown
> element as follows -
>
> protected void onBeforeRender() {
>
>                if (!behaviorAssigned) {
>                        behaviorAssigned = true;
>
>                        visitChildren(new IVisitor<Component>() {
>
>                                public Object component(Component component) {
>                                        if (component instanceof RadioChoice) {
>                                                component.add(new AjaxFormSubmitBehavior("onclick") {
>
>                                                        @Override
>                                                        protected void onError(AjaxRequestTarget target) {
>                                                                // TODO Auto-generated method stub
>
>                                                        }
>
>                                                        @Override
>                                                        protected void onSubmit(AjaxRequestTarget target) {
>                                                                parent.setPageChanged(Boolean.TRUE);
>
>                                                        }
>
>
>                                                });
>                                        }
>                                        if (component instanceof DropDownChoice<?>) {
>                                                component.add(new AjaxFormComponentUpdatingBehavior(
>                                                                "onchange") {
>                                                        protected void onUpdate(AjaxRequestTarget target) {
>                                                                parent.setPageChanged(Boolean.TRUE);
>                                                        }
>                                                });
>                                        }
>                                        return null;
>                                }
>
>                        });
>                        super.onBeforeRender();
>                }
>
> Problem is whenever the Panel is loaded I am getting loads of
> WicketNotSerializableExceptions -
>
>
>
> org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException:
> Unable to serialize class: com.mycompany.test.calendar.ChildPanel$7
> Field hierarchy is:
>  5 [class=com.mycompany.test.HomeBasePage, path=5]
>    private java.lang.Object org.apache.wicket.MarkupContainer.children
> [class=[Ljava.lang.Object;]
>      java.lang.Object org.apache.wicket.Component.data[10]
> [class=com.mycompany.test.HomeBasePage$6, path=5:tabs]
>        private java.lang.Object org.apache.wicket.MarkupContainer.children
> [class=[Ljava.lang.Object;]
>          private org.apache.wicket.markup.html.link.PopupSettings
> org.apache.wicket.markup.html.link.Link.popupSettings[1]
> [class=com.mycompany.test.settings.SettingsLazyPanel, path=5:tabs:panel]
>            private java.lang.Object
> org.apache.wicket.MarkupContainer.children
> [class=com.mycompany.test.settings.SettingsLazyPanel$1,
> path=5:tabs:panel:grid]
>              private java.lang.Object
> org.apache.wicket.MarkupContainer.children
> [class=com.mycompany.test.settings.SettingBasePanel,
> path=5:tabs:panel:grid:content]
>                private java.lang.Object
> org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
>                  private
> org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow$WindowClosedCallback
> org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow.windowClosedCallback[1]
> [class=com.mycompany.test.settings.SettingBasePanel$6,
> path=5:tabs:panel:grid:content:tabs]
>                    private java.lang.Object
> org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
>                      private
> org.apache.wicket.markup.html.link.PopupSettings
> org.apache.wicket.markup.html.link.Link.popupSettings[1]
> [class=com.mycompany.test.calendar.ChildPanel,
> path=5:tabs:panel:grid:content:tabs:panel]
>                        private java.lang.Object
> org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
>                          java.lang.Object
> org.apache.wicket.Component.data[2]
> [class=org.apache.wicket.markup.html.WebMarkupContainer,
> path=5:tabs:panel:grid:content:tabs:panel:dayMonthGrid]
>                            private java.lang.Object
> org.apache.wicket.MarkupContainer.children
> [class=com.mycompany.test.calendar.ChildPanel$1,
> path=5:tabs:panel:grid:content:tabs:panel:dayMonthGrid:dayMonthView]
>                              private java.lang.Object
> org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
>                                private java.lang.Object
> org.apache.wicket.MarkupContainer.children[0]
> [class=org.apache.wicket.markup.html.list.ListItem,
> path=5:tabs:panel:grid:content:tabs:panel:dayMonthGrid:dayMonthView:0]
>                                  private java.lang.Object
> org.apache.wicket.MarkupContainer.children
> [class=com.mycompany.test.calendar.ChildPanel$1$1,
> path=5:tabs:panel:grid:content:tabs:panel:dayMonthGrid:dayMonthView:0:dayMonthButton]
>                                    private final
> org.apache.wicket.markup.html.WebMarkupContainer
> com.mycompany.test.calendar.ChildPanel$1$1.val$availableBox
> [class=org.apache.wicket.markup.html.WebMarkupContainer,
> path=5:tabs:panel:grid:content:tabs:panel:availableBox]
>                                      private java.lang.Object
> org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
>                                        java.lang.Object
> org.apache.wicket.Component.data[1]
> [class=org.apache.wicket.markup.html.form.Form,
> path=5:tabs:panel:grid:content:tabs:panel:availableBox:form]
>                                          private java.lang.Object
> org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
>                                            private java.lang.Object
> org.apache.wicket.MarkupContainer.children[0]
> [class=org.apache.wicket.markup.html.form.RadioChoice,
> path=5:tabs:panel:grid:content:tabs:panel:availableBox:form:availableOption]
>                                              java.lang.Object
> org.apache.wicket.Component.data [class=[Ljava.lang.Object;]
>                                                java.lang.Object
> org.apache.wicket.Component.data[0][1]
> [class=com.mycompany.test.calendar.ChildPanel$7$1]
>                                                  final
> com.mycompany.test.calendar.ChildPanel$7
> com.mycompany.test.calendar.ChildPanel$7$1.this$1
> [class=com.mycompany.test.calendar.ChildPanel$7] <----- field that is not
> serializable
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:346)
> at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
>        at
> org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
>        at
> org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
>        at
> org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(SerializableChecker.java:684)
>        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
>        at
> org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:129)
>        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
>        at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1124)
>        at
> org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:203)
>        at
> org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:840)
>        at
> org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:332)
>        at org.apache.wicket.Session.requestDetached(Session.java:1400)
>        at org.apache.wicket.RequestCycle.detach(RequestCycle.java:1176)
>        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1454)
>        at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
>        at
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
>        at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
>        at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
>        at java.lang.Thread.run(Thread.java:595)
> Caused by: java.io.NotSerializableException:
> com.mycompany.test.calendar.ChildPanel$7
>        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
>        at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
>
>
>
>
>
> However when I add the AjaxFormSubmitBehaviour to individual form components
> and comment out the onBeforeRender it works fine without any errors..
> any clue guys?
>
> Cheers,
> Allgo
>
> --
> View this message in context: http://apache-wicket.1842946.n4.nabble.com/AjaxFormSubmitBehavior-causes-serialization-issues-inside-onBeforeRender-tp2328509p2328509.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org