Sorry, forgot to mention that I'm using wicket 1.4-SNAPSHOT, rev 667063. On Thu, Jun 12, 2008 at 4:18 PM, Matthew Hanlon <[EMAIL PROTECTED]> wrote:
> I'm getting a WicketNotSerializableException on a couple of my pages. The > field that seems to be not serializable appears to be a Wicket class, > org.apache.wicket.util.value.ValueMap$NullSafeKeyComparator. Any > suggestions? I saw a posting on the list earlier today that I though may > have something to do with it, but I cannot find the reference now. > > Here's the stacktrace for the exception I'm getting: > > ERROR Objects:1114 - Error serializing object class > com.mycompany.MyPage[object=[Page class = com.mycompany.MyPage, id = 3, > version = 0, ajax = 0]] > org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException: > Unable to serialize class: > org.apache.wicket.util.value.ValueMap$NullSafeKeyComparator > Field hierarchy is: > 3 [class=com.mycompany.MyPage, path=3] > java.lang.Object org.apache.wicket.Component.data > [class=[Ljava.lang.Object;] > private org.apache.wicket.spring.ISpringContextLocator > org.apache.wicket.spring.SpringBeanLocator.springContextLocator[1] > [class=[Lorg.apache.wicket.MetaDataEntry;] > private org.apache.wicket.spring.ISpringContextLocator > org.apache.wicket.spring.SpringBeanLocator.springContextLocator[1][0] > [class=org.apache.wicket.MetaDataEntry] > java.lang.Object org.apache.wicket.MetaDataEntry.object > [class=org.apache.wicket.PageParameters] > private java.util.Comparator java.util.TreeMap.comparator > [class=org.apache.wicket.util.value.ValueMap$NullSafeKeyComparator] <----- > field that is not serializable > at > org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:349) > at > org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:618) > at > org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:541) > at > org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:618) > at > org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:541) > at > org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:395) > at > org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:395) > at > org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:618) > at > org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:541) > at > org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(SerializableChecker.java:687) > at java.io.ObjectOutputStream.writeObject(Unknown Source) > at > org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:127) > at java.io.ObjectOutputStream.writeObject(Unknown Source) > at > org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1100) > at > org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:200) > at > org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:814) > at > org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:327) > at org.apache.wicket.Session.requestDetached(Session.java:1391) > at org.apache.wicket.RequestCycle.detach(RequestCycle.java:1113) > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1384) > at org.apache.wicket.RequestCycle.request(RequestCycle.java:499) > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:387) > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:199) > at > org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334) > at > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) > at > org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334) > at > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:286) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:558) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1714) > at > org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:507) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1664) > at org.mortbay.http.HttpServer.service(HttpServer.java:863) > at org.mortbay.http.HttpConnection.service(HttpConnection.java:775) > at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:939) > at org.mortbay.http.HttpConnection.handle(HttpConnection.java:792) > at > org.mortbay.http.SocketListener.handleConnection(SocketListener.java:201) > at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289) > at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455) > Caused by: java.io.NotSerializableException: > org.apache.wicket.util.value.ValueMap$NullSafeKeyComparator > at java.io.ObjectOutputStream.writeObject0(Unknown Source) > at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source) > at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source) > at java.util.TreeMap.writeObject(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > > -- > Matthew Rollins Hanlon > http://squareoftwo.org > _____________________ > Hanlon's Razor: > "Never attribute to malice that which can be adequately explained by > stupidity." > http://wikipedia.org/wiki/Hanlon's_razor<http://wikipedia.org/wiki/Hanlon%27s_razor> -- Matthew Rollins Hanlon http://squareoftwo.org _____________________ Hanlon's Razor: "Never attribute to malice that which can be adequately explained by stupidity." http://wikipedia.org/wiki/Hanlon's_razor
