You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2006/03/30 17:08:32 UTC
svn commit: r390155 -
/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java
Author: remm
Date: Thu Mar 30 07:08:31 2006
New Revision: 390155
URL: http://svn.apache.org/viewcvs?rev=390155&view=rev
Log:
- Clean up a bit.
- For some reason, trying to recycle a static digester doesn't improve performance.
Modified:
tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java
Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java
URL: http://svn.apache.org/viewcvs/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java?rev=390155&r1=390154&r2=390155&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java Thu Mar 30 07:08:31 2006
@@ -37,192 +37,199 @@
String type;
Object source;
List mbeans=new ArrayList();
-
- public void setRegistry(Registry reg) {
- this.registry=reg;
- }
-
- public void setLocation( String loc ) {
- this.location=loc;
- }
-
- /** Used if a single component is loaded
- *
- * @param type
- */
- public void setType( String type ) {
- this.type=type;
- }
-
- public void setSource( Object source ) {
- this.source=source;
- }
-
- public List loadDescriptors( Registry registry, String location,
- String type, Object source)
- throws Exception
- {
- setRegistry(registry);
- setLocation(location);
- setType(type);
- setSource(source);
- execute();
- return mbeans;
- }
-
- public void execute() throws Exception {
- if( registry==null ) registry=Registry.getRegistry();
-
- InputStream stream=(InputStream)source;
-
- long t1=System.currentTimeMillis();
+
+ protected static Digester createDigester(Registry registry) {
Digester digester = new Digester();
digester.setNamespaceAware(false);
digester.setValidating(false);
- URL url = registry.getClass().getResource
- ("/org/apache/commons/modeler/mbeans-descriptors.dtd");
+ URL url = Registry.getRegistry(null, null).getClass().getResource
+ ("/org/apache/tomcat/util/modeler/mbeans-descriptors.dtd");
digester.register
- ("-//Apache Software Foundation//DTD Model MBeans Configuration File",
- url.toString());
-
- // Push our registry object onto the stack
- digester.push(mbeans);
-
+ ("-//Apache Software Foundation//DTD Model MBeans Configuration File",
+ url.toString());
+
// Configure the parsing rules
digester.addObjectCreate
- ("mbeans-descriptors/mbean",
- "org.apache.tomcat.util.modeler.ManagedBean");
+ ("mbeans-descriptors/mbean",
+ "org.apache.tomcat.util.modeler.ManagedBean");
digester.addSetProperties
- ("mbeans-descriptors/mbean");
+ ("mbeans-descriptors/mbean");
digester.addSetNext
- ("mbeans-descriptors/mbean",
- "add",
- "java.lang.Object");
-
+ ("mbeans-descriptors/mbean",
+ "add",
+ "java.lang.Object");
+
digester.addObjectCreate
- ("mbeans-descriptors/mbean/attribute",
- "org.apache.tomcat.util.modeler.AttributeInfo");
+ ("mbeans-descriptors/mbean/attribute",
+ "org.apache.tomcat.util.modeler.AttributeInfo");
digester.addSetProperties
- ("mbeans-descriptors/mbean/attribute");
+ ("mbeans-descriptors/mbean/attribute");
digester.addSetNext
- ("mbeans-descriptors/mbean/attribute",
- "addAttribute",
- "org.apache.tomcat.util.modeler.AttributeInfo");
-
+ ("mbeans-descriptors/mbean/attribute",
+ "addAttribute",
+ "org.apache.tomcat.util.modeler.AttributeInfo");
+
digester.addObjectCreate
("mbeans-descriptors/mbean/attribute/descriptor/field",
- "org.apache.tomcat.util.modeler.FieldInfo");
+ "org.apache.tomcat.util.modeler.FieldInfo");
digester.addSetProperties
("mbeans-descriptors/mbean/attribute/descriptor/field");
digester.addSetNext
("mbeans-descriptors/mbean/attribute/descriptor/field",
- "addField",
- "org.apache.tomcat.util.modeler.FieldInfo");
-
- digester.addObjectCreate
- ("mbeans-descriptors/mbean/constructor",
- "org.apache.tomcat.util.modeler.ConstructorInfo");
- digester.addSetProperties
- ("mbeans-descriptors/mbean/constructor");
- digester.addSetNext
- ("mbeans-descriptors/mbean/constructor",
- "addConstructor",
- "org.apache.tomcat.util.modeler.ConstructorInfo");
-
+ "addField",
+ "org.apache.tomcat.util.modeler.FieldInfo");
+
+ digester.addObjectCreate
+ ("mbeans-descriptors/mbean/constructor",
+ "org.apache.tomcat.util.modeler.ConstructorInfo");
+ digester.addSetProperties
+ ("mbeans-descriptors/mbean/constructor");
+ digester.addSetNext
+ ("mbeans-descriptors/mbean/constructor",
+ "addConstructor",
+ "org.apache.tomcat.util.modeler.ConstructorInfo");
+
digester.addObjectCreate
("mbeans-descriptors/mbean/constructor/descriptor/field",
- "org.apache.tomcat.util.modeler.FieldInfo");
+ "org.apache.tomcat.util.modeler.FieldInfo");
digester.addSetProperties
("mbeans-descriptors/mbean/constructor/descriptor/field");
digester.addSetNext
("mbeans-descriptors/mbean/constructor/descriptor/field",
- "addField",
- "org.apache.tomcat.util.modeler.FieldInfo");
-
- digester.addObjectCreate
- ("mbeans-descriptors/mbean/constructor/parameter",
- "org.apache.tomcat.util.modeler.ParameterInfo");
- digester.addSetProperties
- ("mbeans-descriptors/mbean/constructor/parameter");
- digester.addSetNext
- ("mbeans-descriptors/mbean/constructor/parameter",
- "addParameter",
- "org.apache.tomcat.util.modeler.ParameterInfo");
-
+ "addField",
+ "org.apache.tomcat.util.modeler.FieldInfo");
+
+ digester.addObjectCreate
+ ("mbeans-descriptors/mbean/constructor/parameter",
+ "org.apache.tomcat.util.modeler.ParameterInfo");
+ digester.addSetProperties
+ ("mbeans-descriptors/mbean/constructor/parameter");
+ digester.addSetNext
+ ("mbeans-descriptors/mbean/constructor/parameter",
+ "addParameter",
+ "org.apache.tomcat.util.modeler.ParameterInfo");
+
digester.addObjectCreate
("mbeans-descriptors/mbean/descriptor/field",
- "org.apache.tomcat.util.modeler.FieldInfo");
+ "org.apache.tomcat.util.modeler.FieldInfo");
digester.addSetProperties
("mbeans-descriptors/mbean/descriptor/field");
digester.addSetNext
("mbeans-descriptors/mbean/descriptor/field",
- "addField",
- "org.apache.tomcat.util.modeler.FieldInfo");
-
- digester.addObjectCreate
- ("mbeans-descriptors/mbean/notification",
- "org.apache.tomcat.util.modeler.NotificationInfo");
- digester.addSetProperties
- ("mbeans-descriptors/mbean/notification");
- digester.addSetNext
- ("mbeans-descriptors/mbean/notification",
- "addNotification",
- "org.apache.tomcat.util.modeler.NotificationInfo");
-
+ "addField",
+ "org.apache.tomcat.util.modeler.FieldInfo");
+
+ digester.addObjectCreate
+ ("mbeans-descriptors/mbean/notification",
+ "org.apache.tomcat.util.modeler.NotificationInfo");
+ digester.addSetProperties
+ ("mbeans-descriptors/mbean/notification");
+ digester.addSetNext
+ ("mbeans-descriptors/mbean/notification",
+ "addNotification",
+ "org.apache.tomcat.util.modeler.NotificationInfo");
+
digester.addObjectCreate
("mbeans-descriptors/mbean/notification/descriptor/field",
- "org.apache.tomcat.util.modeler.FieldInfo");
+ "org.apache.tomcat.util.modeler.FieldInfo");
digester.addSetProperties
("mbeans-descriptors/mbean/notification/descriptor/field");
digester.addSetNext
("mbeans-descriptors/mbean/notification/descriptor/field",
- "addField",
- "org.apache.tomcat.util.modeler.FieldInfo");
-
+ "addField",
+ "org.apache.tomcat.util.modeler.FieldInfo");
+
digester.addCallMethod
- ("mbeans-descriptors/mbean/notification/notification-type",
- "addNotifType", 0);
-
- digester.addObjectCreate
- ("mbeans-descriptors/mbean/operation",
- "org.apache.tomcat.util.modeler.OperationInfo");
- digester.addSetProperties
- ("mbeans-descriptors/mbean/operation");
- digester.addSetNext
- ("mbeans-descriptors/mbean/operation",
- "addOperation",
- "org.apache.tomcat.util.modeler.OperationInfo");
-
+ ("mbeans-descriptors/mbean/notification/notification-type",
+ "addNotifType", 0);
+
+ digester.addObjectCreate
+ ("mbeans-descriptors/mbean/operation",
+ "org.apache.tomcat.util.modeler.OperationInfo");
+ digester.addSetProperties
+ ("mbeans-descriptors/mbean/operation");
+ digester.addSetNext
+ ("mbeans-descriptors/mbean/operation",
+ "addOperation",
+ "org.apache.tomcat.util.modeler.OperationInfo");
+
digester.addObjectCreate
("mbeans-descriptors/mbean/operation/descriptor/field",
- "org.apache.tomcat.util.modeler.FieldInfo");
+ "org.apache.tomcat.util.modeler.FieldInfo");
digester.addSetProperties
("mbeans-descriptors/mbean/operation/descriptor/field");
digester.addSetNext
("mbeans-descriptors/mbean/operation/descriptor/field",
- "addField",
- "org.apache.tomcat.util.modeler.FieldInfo");
+ "addField",
+ "org.apache.tomcat.util.modeler.FieldInfo");
+
+ digester.addObjectCreate
+ ("mbeans-descriptors/mbean/operation/parameter",
+ "org.apache.tomcat.util.modeler.ParameterInfo");
+ digester.addSetProperties
+ ("mbeans-descriptors/mbean/operation/parameter");
+ digester.addSetNext
+ ("mbeans-descriptors/mbean/operation/parameter",
+ "addParameter",
+ "org.apache.tomcat.util.modeler.ParameterInfo");
+
+ return digester;
+
+ }
+
+ public void setRegistry(Registry reg) {
+ this.registry=reg;
+ }
- digester.addObjectCreate
- ("mbeans-descriptors/mbean/operation/parameter",
- "org.apache.tomcat.util.modeler.ParameterInfo");
- digester.addSetProperties
- ("mbeans-descriptors/mbean/operation/parameter");
- digester.addSetNext
- ("mbeans-descriptors/mbean/operation/parameter",
- "addParameter",
- "org.apache.tomcat.util.modeler.ParameterInfo");
+ public void setLocation( String loc ) {
+ this.location=loc;
+ }
+ /** Used if a single component is loaded
+ *
+ * @param type
+ */
+ public void setType( String type ) {
+ this.type=type;
+ }
+
+ public void setSource( Object source ) {
+ this.source=source;
+ }
+
+ public List loadDescriptors( Registry registry, String location,
+ String type, Object source)
+ throws Exception
+ {
+ setRegistry(registry);
+ setLocation(location);
+ setType(type);
+ setSource(source);
+ execute();
+ return mbeans;
+ }
+
+ public void execute() throws Exception {
+ if (registry == null) {
+ registry = Registry.getRegistry(null, null);
+ }
+
+ 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();
}
- long t2=System.currentTimeMillis();
-// if( t2-t1 > 500 )
- log.info("Loaded registry information (digester) " + ( t2 - t1 ) + " ms");
+
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org