You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/08/16 13:51:29 UTC
svn commit: r1514663 - in /tomcat/tc7.0.x/trunk: ./
java/org/apache/catalina/ java/org/apache/catalina/core/
java/org/apache/catalina/startup/ java/org/apache/tomcat/
test/org/apache/catalina/core/
Author: markt
Date: Fri Aug 16 11:51:28 2013
New Revision: 1514663
URL: http://svn.apache.org/r1514663
Log:
Back-porting JSR-356
Add InstanceManager to Context interface. This is required by the Servlet 3.1 based upgrade mechanism.
Modified:
tomcat/tc7.0.x/trunk/ (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationContext.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/InstanceManager.java
tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TesterContext.java
Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
Merged /tomcat/trunk:r1459028
Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java?rev=1514663&r1=1514662&r2=1514663&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java Fri Aug 16 11:51:28 2013
@@ -40,6 +40,7 @@ import org.apache.catalina.deploy.LoginC
import org.apache.catalina.deploy.NamingResources;
import org.apache.catalina.deploy.SecurityConstraint;
import org.apache.catalina.util.CharsetMapper;
+import org.apache.tomcat.InstanceManager;
import org.apache.tomcat.JarScanner;
import org.apache.tomcat.util.http.mapper.Mapper;
@@ -712,6 +713,16 @@ public interface Context extends Contain
*/
public boolean getLogEffectiveWebXml();
+ /**
+ * Get the instance manager associated with this context.
+ */
+ public InstanceManager getInstanceManager();
+
+ /**
+ * Set the instance manager associated with this context.
+ */
+ public void setInstanceManager(InstanceManager instanceManager);
+
// --------------------------------------------------------- Public Methods
Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationContext.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=1514663&r1=1514662&r2=1514663&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationContext.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/ApplicationContext.java Fri Aug 16 11:51:28 2013
@@ -1357,7 +1357,7 @@ public class ApplicationContext
try {
@SuppressWarnings("unchecked")
T listener =
- (T) context.getInstanceManager().newInstance(c.getName());
+ (T) context.getInstanceManager().newInstance(c);
if (listener instanceof ServletContextListener ||
listener instanceof ServletContextAttributeListener ||
listener instanceof ServletRequestListener ||
@@ -1378,9 +1378,8 @@ public class ApplicationContext
throw new ServletException(e);
} catch (InstantiationException e) {
throw new ServletException(e);
- } catch (ClassNotFoundException e) {
- throw new ServletException(e);
- } }
+ }
+ }
@Override
Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java?rev=1514663&r1=1514662&r2=1514663&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java Fri Aug 16 11:51:28 2013
@@ -133,6 +133,11 @@ public class DefaultInstanceManager impl
}
@Override
+ public Object newInstance(Class<?> clazz) throws IllegalAccessException, InvocationTargetException, NamingException, InstantiationException {
+ return newInstance(clazz.newInstance(), clazz);
+ }
+
+ @Override
public Object newInstance(String className) throws IllegalAccessException, InvocationTargetException, NamingException, InstantiationException, ClassNotFoundException {
Class<?> clazz = loadClassMaybePrivileged(className, classLoader);
return newInstance(clazz.newInstance(), clazz);
Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java?rev=1514663&r1=1514662&r2=1514663&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/FailedContext.java Fri Aug 16 11:51:28 2013
@@ -59,6 +59,7 @@ import org.apache.catalina.mbeans.MBeanU
import org.apache.catalina.util.CharsetMapper;
import org.apache.catalina.util.LifecycleMBeanBase;
import org.apache.juli.logging.Log;
+import org.apache.tomcat.InstanceManager;
import org.apache.tomcat.JarScanner;
import org.apache.tomcat.util.http.mapper.Mapper;
import org.apache.tomcat.util.res.StringManager;
@@ -685,4 +686,10 @@ public class FailedContext extends Lifec
@Override
public Map<String, String> findPreDestroyMethods() { return null; }
+
+ @Override
+ public InstanceManager getInstanceManager() { return null; }
+
+ @Override
+ public void setInstanceManager(InstanceManager instanceManager) { /* NO-OP */ }
}
\ No newline at end of file
Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/InstanceManager.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/InstanceManager.java?rev=1514663&r1=1514662&r2=1514663&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/InstanceManager.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/InstanceManager.java Fri Aug 16 11:51:28 2013
@@ -25,6 +25,10 @@ import javax.naming.NamingException;
*/
public interface InstanceManager {
+ public Object newInstance(Class<?> clazz)
+ throws IllegalAccessException, InvocationTargetException, NamingException,
+ InstantiationException;
+
public Object newInstance(String className)
throws IllegalAccessException, InvocationTargetException, NamingException,
InstantiationException, ClassNotFoundException;
Modified: tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TesterContext.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TesterContext.java?rev=1514663&r1=1514662&r2=1514663&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TesterContext.java (original)
+++ tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TesterContext.java Fri Aug 16 11:51:28 2013
@@ -58,6 +58,7 @@ import org.apache.catalina.deploy.Naming
import org.apache.catalina.deploy.SecurityConstraint;
import org.apache.catalina.util.CharsetMapper;
import org.apache.juli.logging.Log;
+import org.apache.tomcat.InstanceManager;
import org.apache.tomcat.JarScanner;
import org.apache.tomcat.util.http.mapper.Mapper;
@@ -1182,4 +1183,14 @@ public class TesterContext implements Co
ServletSecurityElement servletSecurityElement) {
return null;
}
+
+ @Override
+ public InstanceManager getInstanceManager() {
+ return null;
+ }
+
+ @Override
+ public void setInstanceManager(InstanceManager instanceManager) {
+ // NO-OP
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org