From: remm Date: Sun, 4 Mar 2007 20:38:54 +0000 (+0000) Subject: - Minor optimization X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=08c204d40183f669c23522de48b270c489cdc3a2;p=tomcat7.0 - Minor optimization git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@514468 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java b/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java index ca103fe5d..8133029fd 100644 --- a/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java +++ b/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java @@ -38,6 +38,7 @@ public class MbeansDescriptorsDigesterSource extends ModelerSource String type; Object source; List mbeans=new ArrayList(); + protected static Digester digester = null; protected static Digester createDigester(Registry registry) { @@ -218,18 +219,24 @@ public class MbeansDescriptorsDigesterSource extends ModelerSource InputStream stream = (InputStream) source; - Digester digester = createDigester(registry); - // Push our registry object onto the stack - digester.push(mbeans); - - // Process the input file to configure our registry - try { - digester.parse(stream); - } catch (Exception e) { - log.error("Error digesting Registry data", e); - throw e; - } finally { - digester.reset(); + if (digester == null) { + digester = createDigester(registry); + } + + synchronized (digester) { + + // Process the input file to configure our registry + try { + // Push our registry object onto the stack + digester.push(mbeans); + digester.parse(stream); + } catch (Exception e) { + log.error("Error digesting Registry data", e); + throw e; + } finally { + digester.reset(); + } + } }