Serialization Error

View: New views
2 Messages — Rating Filter:   Alert me  

Serialization Error

by Douglas Ferguson-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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/

Re: Serialization Error

by igor.vaynberg :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

comparator does not extend serializable.

make an inner class that extends serializable.

-igor

On Tue, Nov 3, 2009 at 11:27 PM, Douglas Ferguson
<douglas@...> wrote:

> 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/
>

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