String type;
Object source;
List mbeans=new ArrayList();
+ protected static Digester digester = null;
protected static Digester createDigester(Registry registry) {
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();
+ }
+
}
}