Hi, I agree for most of the points below but I wonder whether it is the right time to do them. There will always be things to fix/improve but we have to draw the line and cut 1.5 final.
On Fri, Jun 10, 2011 at 8:16 PM, Pedro Santos <[email protected]> wrote: > Hi, just centralizing a set of ideas to improve IPageManager and > friends. Please give your opinion and increase the list with your > ideas. If we reach a consensus, we can already start open/resolve > tickets. > > Context: PersistentPageManager was designed to work like > SecondLevelCacheSessionStore (page-management.txt), but it is now a > composition of IPageStore PersistentPageManager > - Rename PersistentPageManager to PageStoreManager. Agree to do it before 1.5.0. PPM can work with HttpSessionDataStore as backend thus it is not persistent. > > Context: PersistentPageManager.SessionEntry clears its pages in cache > every time a new list of touched pages in request is set to be cached. > This strategy works fine for a single tab navegation. If one opens > another tab to another page, pages cached in session for the other tab > will be lost in the session cache (the remain in the application > serialized page cache however). > - change PersistentPageManager.SessionEntry#setPages to work > cyclic (in benefit of a faster multiple tabs navigation and preventing > memory overflow since one can touche a lot of pages) I'd like to leave this for 1.5.x. But if the patch is simple then I don't mind to do for 1.5.0 > > Context: the code related to page persistence is a bit hard to understand > - Write some javadoc to PersistentPageManager after we talk about > possible changes in this thread. Agree. Improving javadoc is always welcome. > - Rename PersistentPageManager.SessionEntry pages variable to sessionCache Agree. Before 1.5.0. > - Change DefaultPageStore to encapsulate all the write/read from > session cache / application cache /second level data by moving > PersistentPageManager.SessionEntry and PersistentRequestAdapter to > DefaultPageStore, centralizing the logic: try session cache / try > application cache (SerializedPagesCache) / try IDataStore. This > refactoring centralizing the code will make the storing/access logic > easier to understand Prefer to leave it for 1.5.x > > -- > Pedro Henrique Oliveira dos Santos > If you think that some of the changes will be binary backward incompatible then we should do them before 1.5.0. -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com
