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/13 10:06:57 UTC
[4/9] 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/master
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