From 9ad39db139c642dbea933b677eb818a1dc8f4423 Mon Sep 17 00:00:00 2001 From: markt Date: Wed, 17 Nov 2010 16:26:23 +0000 Subject: [PATCH] Reduce code duplication Initialise the random number generator once in ManagerBase git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1036099 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/catalina/ha/session/BackupManager.java | 3 +-- .../apache/catalina/ha/session/DeltaManager.java | 3 +-- java/org/apache/catalina/session/ManagerBase.java | 23 ++++++++++++++-------- .../catalina/session/PersistentManagerBase.java | 7 +------ .../apache/catalina/session/StandardManager.java | 9 ++------- 5 files changed, 20 insertions(+), 25 deletions(-) diff --git a/java/org/apache/catalina/ha/session/BackupManager.java b/java/org/apache/catalina/ha/session/BackupManager.java index 179f2ff52..67f51ed0b 100644 --- a/java/org/apache/catalina/ha/session/BackupManager.java +++ b/java/org/apache/catalina/ha/session/BackupManager.java @@ -151,8 +151,7 @@ public class BackupManager extends ClusterManagerBase @Override protected synchronized void startInternal() throws LifecycleException { - // Force initialization of the random number generator - generateSessionId(); + super.startInternal(); try { cluster.registerManager(this); diff --git a/java/org/apache/catalina/ha/session/DeltaManager.java b/java/org/apache/catalina/ha/session/DeltaManager.java index ddff94f26..c5ef39af0 100644 --- a/java/org/apache/catalina/ha/session/DeltaManager.java +++ b/java/org/apache/catalina/ha/session/DeltaManager.java @@ -737,8 +737,7 @@ public CatalinaCluster getCluster() { @Override protected synchronized void startInternal() throws LifecycleException { - // Force initialization of the random number generator - generateSessionId(); + super.startInternal(); // Load unloaded sessions, if any try { diff --git a/java/org/apache/catalina/session/ManagerBase.java b/java/org/apache/catalina/session/ManagerBase.java index a36b8fb77..9cfba8a20 100644 --- a/java/org/apache/catalina/session/ManagerBase.java +++ b/java/org/apache/catalina/session/ManagerBase.java @@ -816,22 +816,29 @@ public abstract class ManagerBase extends LifecycleMBeanBase } @Override - protected void destroyInternal() throws LifecycleException { - closeRandomFile(); - super.destroyInternal(); - } - - @Override protected void initInternal() throws LifecycleException { super.initInternal(); setDistributable(((Context) getContainer()).getDistributable()); + } - // Initialize random number generation - getRandomBytes(new byte[16]); + @Override + protected void startInternal() throws LifecycleException { + // Force initialization of the random number generator + if (log.isDebugEnabled()) + log.debug("Force random number initialization starting"); + generateSessionId(); + if (log.isDebugEnabled()) + log.debug("Force random number initialization completed"); } + @Override + protected void destroyInternal() throws LifecycleException { + closeRandomFile(); + super.destroyInternal(); + } + /** * Add this Session to the set of active Sessions for this Manager. * diff --git a/java/org/apache/catalina/session/PersistentManagerBase.java b/java/org/apache/catalina/session/PersistentManagerBase.java index d15b081e5..9b313ea90 100644 --- a/java/org/apache/catalina/session/PersistentManagerBase.java +++ b/java/org/apache/catalina/session/PersistentManagerBase.java @@ -822,12 +822,7 @@ public abstract class PersistentManagerBase extends ManagerBase { @Override protected synchronized void startInternal() throws LifecycleException { - // Force initialization of the random number generator - if (log.isDebugEnabled()) - log.debug("Force random number initialization starting"); - generateSessionId(); - if (log.isDebugEnabled()) - log.debug("Force random number initialization completed"); + super.startInternal(); if (store == null) log.error("No Store configured, persistence disabled"); diff --git a/java/org/apache/catalina/session/StandardManager.java b/java/org/apache/catalina/session/StandardManager.java index 356526b1e..25416cc36 100644 --- a/java/org/apache/catalina/session/StandardManager.java +++ b/java/org/apache/catalina/session/StandardManager.java @@ -458,13 +458,8 @@ public class StandardManager extends ManagerBase { @Override protected synchronized void startInternal() throws LifecycleException { - // Force initialization of the random number generator - if (log.isDebugEnabled()) - log.debug("Force random number initialization starting"); - generateSessionId(); - if (log.isDebugEnabled()) - log.debug("Force random number initialization completed"); - + super.startInternal(); + // Load unloaded sessions, if any try { load(); -- 2.11.0