You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2014/03/10 16:56:58 UTC

[3/3] git commit: WICKET-5527 Inefficient DefaultPageStore.SerializedPagesCache

WICKET-5527 Inefficient DefaultPageStore.SerializedPagesCache

Clean up and javadoc


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/25016d10
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/25016d10
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/25016d10

Branch: refs/heads/5527-inefficient-DefaultDataStore
Commit: 25016d10b9762682d783252b0ded2697def9e870
Parents: 583e03c
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Mar 10 17:55:05 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Mar 10 17:55:05 2014 +0200

----------------------------------------------------------------------
 .../org/apache/wicket/DefaultPageManagerProvider.java    |  7 ++++---
 .../java/org/apache/wicket/page/AbstractPageManager.java |  4 ----
 .../org/apache/wicket/pageStore/PerSessionPageStore.java | 11 ++++++++++-
 3 files changed, 14 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/25016d10/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java b/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
index 3ce5f8c..bb1640e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
+++ b/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
@@ -26,9 +26,9 @@ import org.apache.wicket.pageStore.DefaultPageStore;
 import org.apache.wicket.pageStore.DiskDataStore;
 import org.apache.wicket.pageStore.IDataStore;
 import org.apache.wicket.pageStore.IPageStore;
-import org.apache.wicket.pageStore.PerSessionPageStore;
 import org.apache.wicket.serialize.ISerializer;
 import org.apache.wicket.settings.StoreSettings;
+import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.lang.Bytes;
 
 /**
@@ -40,13 +40,14 @@ public class DefaultPageManagerProvider implements IPageManagerProvider
 	protected final Application application;
 
 	/**
-	 * Construct.
+	 * Constructor.
 	 * 
 	 * @param application
+	 *          The application instance
 	 */
 	public DefaultPageManagerProvider(Application application)
 	{
-		this.application = application;
+		this.application = Args.notNull(application, "application");
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/wicket/blob/25016d10/wicket-core/src/main/java/org/apache/wicket/page/AbstractPageManager.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/page/AbstractPageManager.java b/wicket-core/src/main/java/org/apache/wicket/page/AbstractPageManager.java
index 21eb1f1..ca1cfe3 100644
--- a/wicket-core/src/main/java/org/apache/wicket/page/AbstractPageManager.java
+++ b/wicket-core/src/main/java/org/apache/wicket/page/AbstractPageManager.java
@@ -17,8 +17,6 @@
 package org.apache.wicket.page;
 
 import org.apache.wicket.util.lang.Args;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * Convenience class for {@link IPageManager} implementations. Subclass should extend
@@ -29,8 +27,6 @@ import org.slf4j.LoggerFactory;
  */
 public abstract class AbstractPageManager implements IPageManager
 {
-	private static final Logger log = LoggerFactory.getLogger(AbstractPageManager.class);
-
 	private final IPageManagerContext context;
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/25016d10/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java b/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java
index f1d5d9a..8d0c631 100644
--- a/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java
+++ b/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java
@@ -28,12 +28,21 @@ import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.time.Time;
 
 /**
+ * A page store that uses a SecondLevelPageCache with the last N used page instances
+ * per session.
  *
+ * <strong>Note</strong>: the size of the cache depends on the {@code cacheSize} constructor
+ * parameter multiplied by the number of the active http sessions.
+ *
+ * It depends on the application use cases but usually a reasonable value of
+ * {@code cacheSize} would be just a few pages (2-3). If the application don't expect many
+ * active http sessions and the work flow involves usage of the browser/application history
+ * then the {@code cacheSize} value may be increased to a bigger value.
  */
 public class PerSessionPageStore extends AbstractCachingPageStore<IManageablePage>
 {
 	/**
-	 * Construct.
+	 * Constructor.
 	 *
 	 * @param pageSerializer
 	 *            the {@link org.apache.wicket.serialize.ISerializer} that will be used to convert pages from/to byte arrays