Speaking of performance, my pages are using quite a bunch of technologies
and session size varies ~30-40 KB, sometimes it raises to 80-90 KB. Is that
a considerable amount?

Previously I've been working with JSF where session size was 2-6 MB - so
comparing to that it seems to be "almost zero" :) But is this "normal"
amount for wicket pages?

Thank you

Žilvinas Vilutis

Mobile:   (+370) 652 38353
E-mail:   [email protected]


On Sun, May 16, 2010 at 9:13 PM, Jeremy Thomerson <[email protected]
> wrote:

> In general, you should not pass references to components to other pages.
>  That section on anonymous inner classes is telling you that when you
> create
> an anonymous inner class and pass it to another page, you
> will inadvertently be passing a reference to the outer class, which is
> typically a page.  This builds up memory and you will get a OOM.  Passing
> models between pages is absolutely fine - as long as you're not
> accidentally
> passing a bunch of other stuff with it (including large domain objects -
> which should be detached by using a detachable model).  The page linked to
> even says that you will often pass models between pages.
>
> --
> Jeremy Thomerson
> http://www.wickettraining.com
>
>
>
> On Sun, May 16, 2010 at 11:05 PM, Rik van der Kleij <[email protected]
> >wrote:
>
> > Hi Bernard and Mike,
> >
> > According to
> >
> https://cwiki.apache.org/WICKET/best-practices-and-gotchas.html#BestPracticesandGotchas-AnonymousInnerclassessharingmodels
>  could eventually lead to Out of memory error.
> >
> > Holding a page reference in an instance field that points to another page
> > looks the same but it is doesn't seems to be a problem. What's the
> > difference?
> >
> > Regards,
> > Rik
> >
> >
> > On 16 mei 2010, at 04:39, Michael O'Cleirigh wrote:
> >
> > > Hello,
> > >
> > > I'm not sure on the answer to your question about the anonymous inner
> > class but in general sharing models between pages can be a bad idea.
> > >
> > > The memory issues comes into play if the IModel is like Model and the
> > contained object is not transient (it is serialized as part of the page).
> > >
> > > While Pages are serialized each page is serialized independently so on
> > page reload the IModel from the first page is no longer the same object
> > instance as the IModel from the second page.  At deserialization time the
> > page1.model.getObject().equals page2.model.getObject() but
> > page1.model.getObject() != page2.model.getObject(); so any changes to
> either
> > model are not shared between then.
> > >
> > > This is not a problem if the model is loadable since the memory of the
> > page it is contained in doesn't matter as the value is loaded from the
> > backend db or some other independent data source like the httpsession, or
> > with wicketApplication.
> > >
> > > You can see the same effect if you try and share a model between a
> panel
> > and a ModelWindow that uses a PageCreator
> > >
> > > Hope this helps,
> > >
> > > Mike
> > >> Hi,
> > >>
> > >> Can someone explain me why it is a memory issue when an instance of an
> > anonymous IModel class is passed to another page to be shared, but it
> seems
> > to be no problem when a page reference is passed to another page and is
> put
> > in an instance field (for example to be used in a button to navigate back
> to
> > previous page)?
> > >>
> > >> Many thanks.
> > >>
> > >> Regards,
> > >> Rik
> > >>
> > >>
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [email protected]
> > >> For additional commands, e-mail: [email protected]
> > >>
> > >>
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [email protected]
> > > For additional commands, e-mail: [email protected]
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >
>

Reply via email to