You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2009/06/13 00:47:34 UTC
svn commit: r784303 [2/2] - in
/geronimo/external/trunk/tomcat-parent-6.0.18: ./
catalina-ha/src/main/java/org/apache/catalina/ha/
catalina/src/main/java/org/apache/catalina/
catalina/src/main/java/org/apache/catalina/core/
catalina/src/main/java/org/a...
Modified: geronimo/external/trunk/tomcat-parent-6.0.18/jasper/src/main/java/org/apache/jasper/runtime/TagHandlerPool.java
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/tomcat-parent-6.0.18/jasper/src/main/java/org/apache/jasper/runtime/TagHandlerPool.java?rev=784303&r1=784302&r2=784303&view=diff
==============================================================================
--- geronimo/external/trunk/tomcat-parent-6.0.18/jasper/src/main/java/org/apache/jasper/runtime/TagHandlerPool.java (original)
+++ geronimo/external/trunk/tomcat-parent-6.0.18/jasper/src/main/java/org/apache/jasper/runtime/TagHandlerPool.java Fri Jun 12 22:47:32 2009
@@ -21,7 +21,7 @@
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.Tag;
-import org.apache.AnnotationProcessor;
+import org.apache.InstanceManager;
import org.apache.jasper.Constants;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -42,7 +42,7 @@
// index of next available tag handler
private int current;
- protected AnnotationProcessor annotationProcessor = null;
+ protected InstanceManager instanceManager = null;
public static TagHandlerPool getTagHandlerPool( ServletConfig config) {
TagHandlerPool result=null;
@@ -78,8 +78,7 @@
}
this.handlers = new Tag[maxSize];
this.current = -1;
- this.annotationProcessor =
- (AnnotationProcessor) config.getServletContext().getAttribute(AnnotationProcessor.class.getName());
+ instanceManager = InstanceManagerFactory.getInstanceManager(config);
}
/**
@@ -112,7 +111,7 @@
* @throws JspException if a tag handler cannot be instantiated
*/
public Tag get(Class handlerClass) throws JspException {
- Tag handler = null;
+ Tag handler;
synchronized( this ) {
if (current >= 0) {
handler = handlers[current--];
@@ -123,9 +122,13 @@
// Out of sync block - there is no need for other threads to
// wait for us to construct a tag for this thread.
try {
- Tag instance = (Tag) handlerClass.newInstance();
- AnnotationHelper.postConstruct(annotationProcessor, instance);
- return instance;
+ if (Constants.USE_INSTANCE_MANAGER_FOR_TAGS) {
+ return (Tag) instanceManager.newInstance(handlerClass.getName(), handlerClass.getClassLoader());
+ } else {
+ Tag instance = (Tag) handlerClass.newInstance();
+ instanceManager.newInstance(instance);
+ return instance;
+ }
} catch (Exception e) {
throw new JspException(e.getMessage(), e);
}
@@ -147,13 +150,11 @@
}
// There is no need for other threads to wait for us to release
handler.release();
- if (annotationProcessor != null) {
- try {
- AnnotationHelper.preDestroy(annotationProcessor, handler);
- } catch (Exception e) {
- log.warn("Error processing preDestroy on tag instance of "
- + handler.getClass().getName(), e);
- }
+ try {
+ instanceManager.destroyInstance(handler);
+ } catch (Exception e) {
+ log.warn("Error processing preDestroy on tag instance of "
+ + handler.getClass().getName(), e);
}
}
@@ -164,13 +165,11 @@
public synchronized void release() {
for (int i = current; i >= 0; i--) {
handlers[i].release();
- if (annotationProcessor != null) {
- try {
- AnnotationHelper.preDestroy(annotationProcessor, handlers[i]);
- } catch (Exception e) {
- log.warn("Error processing preDestroy on tag instance of "
- + handlers[i].getClass().getName(), e);
- }
+ try {
+ instanceManager.destroyInstance(handlers[i]);
+ } catch (Exception e) {
+ log.warn("Error processing preDestroy on tag instance of "
+ + handlers[i].getClass().getName(), e);
}
}
}
Modified: geronimo/external/trunk/tomcat-parent-6.0.18/jasper/src/main/java/org/apache/jasper/servlet/JspServletWrapper.java
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/tomcat-parent-6.0.18/jasper/src/main/java/org/apache/jasper/servlet/JspServletWrapper.java?rev=784303&r1=784302&r2=784303&view=diff
==============================================================================
--- geronimo/external/trunk/tomcat-parent-6.0.18/jasper/src/main/java/org/apache/jasper/servlet/JspServletWrapper.java (original)
+++ geronimo/external/trunk/tomcat-parent-6.0.18/jasper/src/main/java/org/apache/jasper/servlet/JspServletWrapper.java Fri Jun 12 22:47:32 2009
@@ -31,7 +31,7 @@
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.tagext.TagInfo;
-import org.apache.AnnotationProcessor;
+import org.apache.InstanceManager;
import org.apache.jasper.JasperException;
import org.apache.jasper.JspCompilationContext;
import org.apache.jasper.Options;
@@ -39,6 +39,7 @@
import org.apache.jasper.compiler.JavacErrorDetail;
import org.apache.jasper.compiler.JspRuntimeContext;
import org.apache.jasper.compiler.Localizer;
+import org.apache.jasper.runtime.InstanceManagerFactory;
import org.apache.jasper.runtime.JspSourceDependent;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -68,7 +69,6 @@
private Servlet theServlet;
private String jspUri;
- private Class servletClass;
private Class tagHandlerClass;
private JspCompilationContext ctxt;
private long available = 0L;
@@ -139,15 +139,10 @@
destroy();
Servlet servlet = null;
-
+
try {
- servletClass = ctxt.load();
- servlet = (Servlet) servletClass.newInstance();
- AnnotationProcessor annotationProcessor = (AnnotationProcessor) config.getServletContext().getAttribute(AnnotationProcessor.class.getName());
- if (annotationProcessor != null) {
- annotationProcessor.processAnnotations(servlet);
- annotationProcessor.postConstruct(servlet);
- }
+ InstanceManager instanceManager = InstanceManagerFactory.getInstanceManager(config);
+ servlet = (Servlet) instanceManager.newInstance(ctxt.getFQCN(), ctxt.getJspLoader());
} catch (IllegalAccessException e) {
throw new JasperException(e);
} catch (InstantiationException e) {
@@ -423,15 +418,13 @@
public void destroy() {
if (theServlet != null) {
theServlet.destroy();
- AnnotationProcessor annotationProcessor = (AnnotationProcessor) config.getServletContext().getAttribute(AnnotationProcessor.class.getName());
- if (annotationProcessor != null) {
- try {
- annotationProcessor.preDestroy(theServlet);
- } catch (Exception e) {
- // Log any exception, since it can't be passed along
- log.error(Localizer.getMessage("jsp.error.file.not.found",
- e.getMessage()), e);
- }
+ InstanceManager instanceManager = InstanceManagerFactory.getInstanceManager(config);
+ try {
+ instanceManager.destroyInstance(theServlet);
+ } catch (Exception e) {
+ // Log any exception, since it can't be passed along
+ log.error(Localizer.getMessage("jsp.error.file.not.found",
+ e.getMessage()), e);
}
}
}
Propchange: geronimo/external/trunk/tomcat-parent-6.0.18/juli/src/main/java/org/apache/juli/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 12 22:47:32 2009
@@ -1 +1,2 @@
+/geronimo/sandbox/djencks/tomcat/branches/tomcat-parent-6.0.18/juli/src/main/java/org/apache/juli:783483-783555
/tomcat/trunk/java/org/apache/juli:673796,673820
Propchange: geronimo/external/trunk/tomcat-parent-6.0.18/shared/src/main/java/org/apache/PeriodicEventListener.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 12 22:47:32 2009
@@ -1 +1,2 @@
+/geronimo/sandbox/djencks/tomcat/branches/tomcat-parent-6.0.18/shared/src/main/java/org/apache/PeriodicEventListener.java:783483-783555
/tomcat/trunk/java/org/apache/PeriodicEventListener.java:673796,673820
Propchange: geronimo/external/trunk/tomcat-parent-6.0.18/tribes/src/main/java/org/apache/catalina/tribes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 12 22:47:32 2009
@@ -1 +1,2 @@
+/geronimo/sandbox/djencks/tomcat/branches/tomcat-parent-6.0.18/tribes/src/main/java/org/apache/catalina/tribes:783483-783555
/tomcat/trunk/java/org/apache/catalina/tribes:673796,673820
Propchange: geronimo/external/trunk/tomcat-parent-6.0.18/util/src/main/java/org/apache/tomcat/util/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 12 22:47:32 2009
@@ -1 +1,2 @@
+/geronimo/sandbox/djencks/tomcat/branches/tomcat-parent-6.0.18/util/src/main/java/org/apache/tomcat/util:783483-783555
/tomcat/trunk/java/org/apache/tomcat/util:673796,673820