Session Stores, Pagemaps and Pages.. What does wicket store (and where)  Johan Compagner
Who is Johan Compagner <ul><li>Senior Java Developer at Servoy (and Topicus) </li></ul><ul><li>10+ years of Java experienc...
Agenda <ul><li>What does wicket store into the HTTP session </li></ul><ul><li>Wicket 1.2 -> Wicket 1.3 </li></ul><ul><li>S...
Wickets session objects <ul><li>What does Wicket store into the HTTP Session </li></ul><ul><ul><li>Wicket Session </li></u...
Why? <ul><li>Why store pages in the session </li></ul><ul><ul><li>Statefull pages (pages with callbacks) </li></ul></ul><u...
Wicket 1.2 <ul><li>Wicket 1.2 </li></ul><ul><ul><li>Stacked PageMap. </li></ul></ul><ul><ul><li>All last 7 pages or page v...
Wicket 1.3 <ul><li>Wicket 1.3 </li></ul><ul><ul><li>ISessionStore </li></ul></ul><ul><ul><ul><li>The Bridge to the HTTP se...
SLCSS <ul><li>SecondLevelCacheSessionStore </li></ul><ul><ul><li>SecondLevelPageMap </li></ul></ul><ul><ul><ul><li>Holds o...
DiskPageStore <ul><li>Default saves a file per pagemap/session in  &quot;javax.servlet.context.tempdir&quot; </li></ul><ul...
Clusterable <ul><li>DiskPageStore not clusterable!? </li></ul><ul><ul><li>Sticky Sessions. </li></ul></ul><ul><ul><li>Fail...
Q/A <ul><li>? </li></ul>
Upcoming SlideShare
Loading in …5
×

Session Stores, Page Maps And Pages

8,810 views

Published on

Why, How and Where does wicket store its pages

Published in: Technology, Art & Photos
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,810
On SlideShare
0
From Embeds
0
Number of Embeds
65
Actions
Shares
0
Downloads
103
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Session Stores, Page Maps And Pages

  1. 1. Session Stores, Pagemaps and Pages.. What does wicket store (and where) Johan Compagner
  2. 2. Who is Johan Compagner <ul><li>Senior Java Developer at Servoy (and Topicus) </li></ul><ul><li>10+ years of Java experience </li></ul><ul><ul><li>Swing and the Web (Struts/Tapestry) </li></ul></ul><ul><li>Core Wicket developer since September 2004 </li></ul>
  3. 3. Agenda <ul><li>What does wicket store into the HTTP session </li></ul><ul><li>Wicket 1.2 -> Wicket 1.3 </li></ul><ul><li>SecondLevelCacheSessionStore </li></ul><ul><li>DiskPageStore </li></ul><ul><li>Cluster ability / Scalability </li></ul><ul><li>Q&A </li></ul>
  4. 4. Wickets session objects <ul><li>What does Wicket store into the HTTP Session </li></ul><ul><ul><li>Wicket Session </li></ul></ul><ul><ul><li>Pagemaps </li></ul></ul><ul><ul><li>Pages </li></ul></ul>
  5. 5. Why? <ul><li>Why store pages in the session </li></ul><ul><ul><li>Statefull pages (pages with callbacks) </li></ul></ul><ul><ul><li>Why more then one? </li></ul></ul><ul><ul><ul><li>Browser Backbutton... </li></ul></ul></ul>
  6. 6. Wicket 1.2 <ul><li>Wicket 1.2 </li></ul><ul><ul><li>Stacked PageMap. </li></ul></ul><ul><ul><li>All last 7 pages or page versions are stored in the session. </li></ul></ul><ul><ul><li>Pages have a UndoPageVersionManager like the Swing undo manager. </li></ul></ul>
  7. 7. Wicket 1.3 <ul><li>Wicket 1.3 </li></ul><ul><ul><li>ISessionStore </li></ul></ul><ul><ul><ul><li>The Bridge to the HTTP session. </li></ul></ul></ul><ul><ul><ul><li>Specifies the PageMap </li></ul></ul></ul><ul><ul><ul><li>Specifies the PageUndoManager </li></ul></ul></ul><ul><ul><li>2 Implementations </li></ul></ul><ul><ul><ul><li>HttpSessionStore (Wicket 1.2) </li></ul></ul></ul><ul><ul><ul><li>SecondLevelCacheSessionStore </li></ul></ul></ul>
  8. 8. SLCSS <ul><li>SecondLevelCacheSessionStore </li></ul><ul><ul><li>SecondLevelPageMap </li></ul></ul><ul><ul><ul><li>Holds only 1 page reference (the active) </li></ul></ul></ul><ul><ul><li>IPageStore </li></ul></ul><ul><ul><ul><li>DiskPageStore </li></ul></ul></ul><ul><ul><ul><ul><li>Saves Pages to Disk </li></ul></ul></ul></ul><ul><ul><ul><ul><li>High Performance </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Currently not Clusterable. </li></ul></ul></ul></ul><ul><ul><ul><li>SimpleSynchronousFilePageStore </li></ul></ul></ul><ul><ul><ul><ul><li>Now only really for development. </li></ul></ul></ul></ul><ul><ul><ul><li>DBPageStore???? </li></ul></ul></ul>
  9. 9. DiskPageStore <ul><li>Default saves a file per pagemap/session in &quot;javax.servlet.context.tempdir&quot; </li></ul><ul><li>Default 10MB per pagemap. </li></ul><ul><li>Index kept in memory. </li></ul><ul><li>Pages are extracted from each other. </li></ul><ul><li>Default 50 file channels are pooled. </li></ul>
  10. 10. Clusterable <ul><li>DiskPageStore not clusterable!? </li></ul><ul><ul><li>Sticky Sessions. </li></ul></ul><ul><ul><li>Fail over does work, except at that time the back button. </li></ul></ul><ul><li>Working on a clusterable version. </li></ul><ul><li>Make your own: DatabaseFileStore.. </li></ul>
  11. 11. Q/A <ul><li>? </li></ul>

×