I'm getting a serialization error in my logs:

Nov 03 23:00:01 ERROR [TP-Processor34] lang.Objects - Error serializing object 
class com.conducive.ui.userPages.monitor.manage.MonitorsManagePage 
[object=[Page class = 
com.conducive.ui.userPages.monitor.manage.MonitorsManagePage, id = 120, version 
= 0, ajax = 4]]
org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException: 
Unable to serialize class: 
com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup$1
Field hierarchy is:
  120 [class=com.conducive.ui.userPages.monitor.manage.MonitorsManagePage, 
path=120]
    java.lang.Object org.apache.wicket.Component.data 
[class=[Ljava.lang.Object;]
      private org.apache.wicket.markup.html.IHeaderContributor 
org.apache.wicket.behavior.HeaderContributor.headerContributor[7] 
[class=com.conducive.ui.userPages.monitor.manage.MonitorsManagePage$1]
        final org.apache.wicket.Component 
com.conducive.ui.userPages.monitor.manage.MonitorsManagePage$1.val$leftList 
[class=org.apache.wicket.markup.html.WebMarkupContainer, 
path=120:contentPart:leftList]
          private java.lang.Object org.apache.wicket.MarkupContainer.children 
[class=com.conducive.ui.userPages.monitor.manage.MonitorsManageParts$ContentPart$1,
 path=120:contentPart:leftList:topicBlocks]
            final java.util.List 
com.conducive.ui.userPages.monitor.manage.MonitorsManageParts$ContentPart$1.val$sorted
 [class=java.util.ArrayList]
              final java.util.List 
com.conducive.ui.userPages.monitor.manage.MonitorsManageParts$ContentPart$1.val$sorted[write:1]
 
[class=com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup]
                private final java.util.Set 
com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup.monitors
 [class=java.util.TreeSet]
                  private final java.util.Set 
com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup.monitors[write:1]
 
[class=com.conducive.ui.userPages.monitor.support.SortedTopicsAndMonitors$TopicGroup$1]
 <----- field that is not serializable
at 
org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:346)
at 
org.apache.wicket.util.io.SerializableChecker.access$500(SerializableChecker.java:63)
at 
org.apache.wicket.util.io.SerializableChecker$1InterceptingObjectOutputStream.replaceObject(SerializableChecker.java:494)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)

It seems to be complaining about this:

        private final Set<Monitor> monitors = new TreeSet<Monitor>(new 
Comparator<Monitor>() {

@Override
public int compare(Monitor o1, Monitor o2) {
return o1.getDescription().compareTo(o2.getDescription());
}



        });

Shouldn't a comparator for a serializable also be serializable?

If this is in face not serializable, how do I work around this?

D/

Reply via email to