Spring AOP proxies not serializable error
Hi,
I use wicket and my object are proxy generated from AspectJProxyFactory when wicket try to serialize them i have this error.
Code:
19 Jan 2010 13:09:03 [btpool0-12] ERROR Objects:1134 - Error serializing object class it.portal.cms.client.wicket.page.list.PageList [object=[Page class = it.portal.cms.client.wicket.page.list.PageList, id = 3, version = 0]]
org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException: Unable to serialize class: org.springframework.aop.aspectj.annotation.InstantiationModelAwarePointcutAdvisorImpl
Field hierarchy is:
3 [class=it.portal.cms.client.wicket.page.list.PageList, path=3]
private java.lang.Object org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
private org.apache.wicket.markup.html.ContainerWithAssociatedMarkupHelper org.apache.wicket.markup.html.WebMarkupContainerWithAssociatedMarkup.markupHelper[3] [class=it.portal.cms.client.wicket.panel.PublishingContentSearchPanel, path=3:sidebarSearch]
private java.lang.Object org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
private final java.lang.Object[] org.apache.wicket.model.StringResourceModel.parameters[1] [class=org.apache.wicket.markup.html.form.Form, path=3:sidebarSearch:formSearch]
java.lang.Object org.apache.wicket.Component.data [class=it.portal.cms.client.wicket.panel.PublishingContentSearchPanel$5]
final org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable it.portal.cms.client.wicket.panel.PublishingContentSearchPanel$5.val$itemList [class=org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackDefaultDataTable, path=3:form:listVisibleDiv:contenPageTable]
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.extensions.markup.html.repeater.data.table.DataTable$1, path=3:form:listVisibleDiv:contenPageTable:rows]
private java.lang.Object org.apache.wicket.MarkupContainer.children [class=org.apache.wicket.markup.repeater.OddEvenItem, path=3:form:listVisibleDiv:contenPageTable:rows:1]
private java.lang.Object org.apache.wicket.MarkupContainer.children [class=org.apache.wicket.markup.repeater.RepeatingView, path=3:form:listVisibleDiv:contenPageTable:rows:1:cells]
private java.lang.Object org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
java.lang.Object org.apache.wicket.Component.data[6] [class=org.apache.wicket.markup.repeater.Item, path=3:form:listVisibleDiv:contenPageTable:rows:1:cells:7]
private java.lang.Object org.apache.wicket.MarkupContainer.children [class=it.portal.cms.client.wicket.panel.ShowBlocksOfPagePanel, path=3:form:listVisibleDiv:contenPageTable:rows:1:cells:7:cell]
private java.lang.Object org.apache.wicket.MarkupContainer.children [class=org.apache.wicket.markup.html.WebMarkupContainer, path=3:form:listVisibleDiv:contenPageTable:rows:1:cells:7:cell:blocksContainer]
private java.lang.Object org.apache.wicket.MarkupContainer.children [class=it.portal.cms.client.wicket.panel.ShowBlocksOfPagePanel$1, path=3:form:listVisibleDiv:contenPageTable:rows:1:cells:7:cell:blocksContainer:blockList]
java.lang.Object org.apache.wicket.Component.data [class=org.apache.wicket.model.util.WildcardListModel]
private java.lang.Object org.apache.wicket.model.util.GenericBaseModel.object [class=java.util.LinkedList]
private java.lang.Object org.apache.wicket.model.util.GenericBaseModel.object[write:1] [class=it.portal.cms.dom.content.PublishingBlock$$EnhancerByCGLIB$$58db8942]
private net.sf.cglib.proxy.MethodInterceptor it.portal.cms.dom.content.PublishingBlock$$EnhancerByCGLIB$$58db8942.CGLIB$CALLBACK_0 [class=org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor]
private org.springframework.aop.framework.AdvisedSupport org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.advised [class=org.springframework.aop.aspectj.annotation.AspectJProxyFactory]
private org.springframework.aop.Advisor[] org.springframework.aop.framework.AdvisedSupport.advisorArray [class=[Lorg.springframework.aop.Advisor;]
private org.springframework.aop.Pointcut org.springframework.aop.support.DefaultPointcutAdvisor.pointcut[1] [class=org.springframework.aop.aspectj.annotation.InstantiationModelAwarePointcutAdvisorImpl] <----- field that is not serializable
at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:346)
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.access$500(SerializableChecker.java:63)
at org.apache.wicket.util.io.SerializableChecker$1InterceptingObjectOutputStream.replaceObject(SerializableChecker.java:494)
.....
Caused by: java.io.NotSerializableException: org.springframework.aop.aspectj.annotation.InstantiationModelAwarePointcutAdvisorImpl
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
.....
Spring verison 2.0.4 aspectj 1.6.6
can anyone help me?