when the page that is stored in http session is deserialized on
another node it is also spooled to disk. so in a cluster all nodes
have identical spooled pages - so everything should work.

-igor

On Mon, Dec 13, 2010 at 8:00 PM, Michal Kurtak <michal.kur...@gmail.com> wrote:
> Thank you for your replies Igor.
>
> I have another question regarding to clustered environment. Suppose we
> have versioned pages opened in two windows. If one node goes down,
> only the last page user made request from is stored in http session
> and replicated to other nodes. So i suppose that only one page would
> work and the state from the second page is lost.
>
> So multi-window support for stateful pages (even versioned) wouldn't
> work in clustered environment. Is this true?
>
> I think that even weird javascript solution for multiple windows would
> be good (it could be turned off by default), because we are unable to
> migrate our existing wicket projects, or create stateful application
> in multiple windows/tabs running in the cluster. This was supported
> out-of-box by wicket previous versions. I know that there is a
> possibility to provide implementation IPageManager, but there is
> missing support for browser window detection so its a bit more
> complicated to implement IPageManager supporting multiple windows in
> clustered environment.
>
> BR,
> Michal
>
>
> 2010/12/13 Igor Vaynberg <igor.vaynb...@gmail.com>:
>> On Sat, Dec 11, 2010 at 12:04 PM, Michal Kurtak <michal.kur...@gmail.com> 
>> wrote:
>>> Hi folks,
>>>
>>> I know that there has been a lot of written about pagestores and
>>> multi-window support in wicket 1.5, but i have several other
>>> questions:
>>>
>>> 1. Is multi-window supported for non-versioned pages?
>>>
>>> If page is versioned everything works ok, but i always get
>>> StalePageExceptions when i use multiple windows/tabs with
>>> non-versioned pages.
>>> I think that StalePageException is useful in some cases when you wanna
>>> be sure that user has same page in all windows, but in older versions
>>> of wicket it was possible to have non versioned pages and multi-window
>>> support together (e.g. we have an application written in wicket 1.2.6
>>> that uses non-versioned pages in multiple windows)
>>
>> no, it is not supported. supporting it has been problematic even in
>> 1.4.x series where it required javascript and introduced a strange
>> redirect that happened as soon as the page was loaded. unversioned
>> pages also cause weird issues with the back button. if you want
>> something that is unversioned then i think building it as stateless
>> makes more sense.
>>
>>> 2. How page stores work in clustered environment?
>>>
>>> In older versions of wicket we used pagemaps stored in HttpSession.
>>> When one node in cluster refuses to handle request, it was
>>> successfully handled by another nod, because HttpSession was
>>> replicated to another node. We have used non-versioned pages (no back
>>> button support needed) and in one pagemap there was max 5 pages.
>>> Wicket provided this functionality out-of-box.
>>
>> in both 1.4.x and 1.5.x by default we store the current page in
>> session and the rest are spooled to disk. the current page is
>> replicated to all nodes since it is stored in session, so any node can
>> pick up a request.
>>
>>>
>>> 3. How to achieve this in wicket 1.5?
>>>
>>> I have found PersistentPageManager which uses IPageStore to store
>>> pages. Pages are stored on disk by default, but there is also thread
>>> safe SerializedPagesCache with SoftReferences. Theres no out-of-box
>>> solution to store pages in HttpSession.
>>>
>>> I have also found file page-management.txt in org.apache.wicket.page
>>> package. It contains proposal of other pagamanagers and multi-window
>>> support for non-versioned pages.
>>>
>>> The proposal contains classes
>>>
>>> PersistentPageManager with DiskPageStore and
>>> SecondLevelCacheSessionStore for versioned pages
>>> SessionManager for holding non versioned pages in HttpSession.
>>>
>>> 4. Can we expect that this proposal will be implemented in wicket 1.5
>>> final version?
>>
>> no. the current version is feature complete and we are concentrating
>> on bugfixing. a more sophisticated page management may be introduced
>> in the future. we have concentrated on the 99% usecase and simplified
>> the code for that. you can implement your own page storage strategies
>> as you see fit.
>>
>> -igor
>>
>>>
>>> Thanks for your replies.
>>>
>>> BR,
>>> Michal Kurtak
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to