yes in a clustered environment you have multiply instances of the
Application
because there are more instances of the WicketServlet.
And Application/Servlet context stuff are not replicated

johan


On Mon, May 19, 2008 at 3:41 AM, Michael Allan <[EMAIL PROTECTED]> wrote:

> Brill Pappin wrote:
> > > ...  So non-Wicket threads cannot generally access pages,
> > > components, models, and so forth - not safely.  True?
> > >
> >  I was trying to think of a use-case for that problem... Do you have a
> > specific use-case or is that just a potential issue you can think of?
>
> I'm thinking generally of state changes that occur in separate
> processes, changes that need to be presented in Web views.
> Specifically, I have a Web page that shows recent user activity, in a
> list view, where each element is a user activity event.  Not all of my
> users are Web users, so the underlying list model is receiving events
> from other processes (mailer daemon, and so forth).
>
> Johan Compagner wrote:
> > Accessing pages in other threads then the request thread is very bad
> idea.
> > Because http session object shouldnt be touched between requests, you
> > have no idea what the container does with your page/session. Store it
> > on disc, replicate it to other nodes.
>
> Of course, now I understand...  I was forgetting that instances of
> these things - pages, components and models - are apt to be serialized
> out of memory.  Non-Wicket threads can't even hold a reference to
> them.  So there's no point in exposing the page lock for other threads
> (as I suggested).
>
> > If you want to do stuff in background threads then let page/request
> > threads poll them if they are finished.
>
> Then the underlying list model (in my example, above) does not belong
> in the page; instead it belongs in the Application instance.  There it
> can safely register with other threads, and receive events from them,
> because the app will never be serialized out of memory.  And the list
> view (in the page) can hook up with the model (in the app), at request
> time, with appropriate synchronization - polling it, as you say.
>
> My only other question, then, is the app life cycle.  (This article
> doesn't really answer my Q:
>
>  http://cwiki.apache.org/WICKET/lifecycle-of-a-wicket-application.html
>
> In a clustered environment, are there multiple instances of the app?
> Might the page (the one with the list view, for example) find itself
> connecting to a different instance of the app, a different instance of
> the list model, from request to request?
>
> In a non-clustered environment, can I safely assume a single instance
> of the app, at any given time?
>
> --
> Michael Allan
>
> Toronto, 647-436-4521
> http://zelea.com/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to