Hi heres a part of the stacktrace, im wondering why it bypasses the proxy,
I thought it would never venture beyond that:

2012-03-22 15:51:55,739 ERROR
[org.apache.wicket.serialize.java.JavaSerializer]  - Error serializing
object class com.netdesign.wallboard.page.ViewerPage [object=[Page class =
com.netdesign.wallboard.page.ViewerPage, id = 6, render count = 1]]
org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException:
Unable to serialize class: com.google.inject.internal.InjectorImpl$4
Field hierarchy is:
  6 [class=com.netdesign.wallboard.page.ViewerPage, path=6]
    private java.lang.Object org.apache.wicket.MarkupContainer.children
[class=com.netdesign.wallboard.panel.WallboardShowPanel,
path=6:wallboardShow]
      private java.lang.Object org.apache.wicket.MarkupContainer.children
[class=[Ljava.lang.Object;]
        private java.lang.Object
org.apache.wicket.MarkupContainer.children[0]
[class=com.netdesign.wallboard.panel.WallboardShowPanel$1,
path=6:wallboardShow:columnList]
          private java.lang.Object
org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
            private final java.lang.annotation.Annotation
org.apache.wicket.guice.GuiceProxyTargetLocator.bindingAnnotation[2]
[class=org.apache.wicket.markup.html.list.ListItem,
path=6:wallboardShow:columnList:2]
              private java.lang.Object
org.apache.wicket.MarkupContainer.children
[class=com.netdesign.wallboard.panel.DisplayItemShowPanel,
path=6:wallboardShow:columnList:2:column]
                private java.lang.Object
org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
                  java.lang.Object org.apache.wicket.Component.data[1]
[class=com.netdesign.wallboard.panel.DisplayItemShowPanel$1,
path=6:wallboardShow:columnList:2:column:list]
                    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=6:wallboardShow:columnList:2:column:list:0]
                        private java.lang.Object
org.apache.wicket.MarkupContainer.children
[class=com.netdesign.remedy.panel.DisplayItemRemedyShowPanel,
path=6:wallboardShow:columnList:2:column:list:0:displayItemShowPanel]
                          private java.lang.Object
org.apache.wicket.MarkupContainer.children
[class=com.netdesign.remedy.panel.DisplayItemRemedyShowPanel$1,
path=6:wallboardShow:columnList:2:column:list:0:displayItemShowPanel:remedyItems]
                            java.lang.Object
org.apache.wicket.Component.data
[class=com.netdesign.remedy.provider.RemedyWallboardViewerProvider$2]
                              final
com.netdesign.remedy.provider.RemedyWallboardViewerProvider
com.netdesign.remedy.provider.RemedyWallboardViewerProvider$2.this$0
[class=com.netdesign.remedy.provider.RemedyWallboardViewerProvider]
                                private
com.netdesign.wallboard.core.interfaces.WallBoardMainDataProvider
com.netdesign.remedy.provider.RemedyWallboardViewerProvider.wallBoardMainDataProvider
[class=com.netdesign.wallboard.core.WallboardMainDataProviderImpl]
                                  private
com.netdesign.wallboard.core.dao.CoreDaoService
com.netdesign.wallboard.core.WallboardMainDataProviderImpl.coreDaoService
[class=com.netdesign.wallboard.core.dao.CoreDaoServiceImp$$EnhancerByGuice$$29968411]
                                    protected com.google.inject.Provider
com.netdesign.wallboard.core.dao.CoreDaoServiceImp.em
[class=com.google.inject.internal.InjectorImpl$4] <----- field that is not
serializable
at
org.apache.wicket.util.io.SerializableChecker.internalCheck(SerializableChecker.java:386)

Part of matching code:


public class DisplayItemRemedyShowPanel extends Panel {

@Inject
private WallBoardMainDataProvider wallBoardMainDataProvider;

private Logger logger = LoggerFactory
.getLogger(DisplayItemRemedyShowPanel.class);

public DisplayItemRemedyShowPanel(String id, final String queue,
final IModel<List<RemedyItem>> RemedyItemsModel, final RemedyDisplayItem
remedyDisplayItem) {


AND when debugging wallBoardMainDataProvider is wrapped by a proxy.. Of
course the internals of the target of the proxy are not.

2012/3/21 Martin Grigorov <mgrigo...@apache.org>

> Wicket-Guice will inject serializable Proxy.
> It seems Guice's plain Injector injects the binding. Check why.
>
> On Wed, Mar 21, 2012 at 9:55 AM, Wilhelmsen Tor Iver <toriv...@arrive.no>
> wrote:
> >> Hi I get a serialize exception in a panel of mine its correct that one
> of the contained fields cannot be serialized, however this field are
> injected and should not be touched by the checker, the field are marked
> with the @inject  annotation. I'm using guice for injection.. Any thing
> obvious wrong with this?
> >
> > Java serialization does not care for that annotation, only whether it is
> declared transient or sports the Serializable marker interface. Frankly it
> baffles me that they didn't just default to letting everything be
> serializable and let the programmer deal with stuff that's not supposed to
> be, since it otherwise just causes endless exceptions and adding an
> otherwise pointless interface inheritance...
> >
> > - Tor Iver
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


-- 
Best regards / Med venlig hilsen
Nino Martinez

Reply via email to