It returnes only external named classes... Which in turn are used by another wicket panel down the road, I guess that could be the cause.... Will check tomorrow.. Thanks for hint. On Mar 22, 2012 5:27 PM, "Dan Retzlaff" <dretzl...@gmail.com> wrote:
> Does WallBoardMainDataProvider return a non-static inner class that retains > a reference to the non-proxied implementation? > > FWIW, we avoid @Inject'ed IDataProviders since they tend to retain state > (filter/query params etc), and instead give them their service proxies with > Injector.get().inject(this) in their constructors. > > On Thu, Mar 22, 2012 at 7:56 AM, nino martinez wael < > nino.martinez.w...@gmail.com> wrote: > > > 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 > > >