svn commit: r1356849 - /tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java

2012-07-03 Thread fhanik
Author: fhanik
Date: Tue Jul  3 17:54:25 2012
New Revision: 1356849

URL: http://svn.apache.org/viewvc?rev=1356849view=rev
Log:
Allow servlets to specify async support as annotation when added programatically

Modified:
tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java

Modified: tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java?rev=1356849r1=1356848r2=1356849view=diff
==
--- tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java Tue Jul  3 
17:54:25 2012
@@ -29,6 +29,7 @@ import java.util.logging.Logger;
 
 import javax.servlet.Servlet;
 import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
 
 import org.apache.catalina.Container;
 import org.apache.catalina.Context;
@@ -801,11 +802,25 @@ public class Tomcat {
 @SuppressWarnings(deprecation)
 public ExistingStandardWrapper( Servlet existing ) {
 this.existing = existing;
+this.asyncSupported = isAsyncSupported();
 if (existing instanceof javax.servlet.SingleThreadModel) {
 singleThreadModel = true;
 instancePool = new StackServlet();
 }
+this.asyncSupported = hasAsync();
 }
+
+public boolean hasAsync() {
+if (isAsyncSupported()) return true;
+boolean result = false;
+Class clazz = existing.getClass();
+if (clazz.isAnnotationPresent(WebServlet.class)) {
+WebServlet ws = 
(WebServlet)clazz.getAnnotation(WebServlet.class);
+result = ws.asyncSupported();
+}
+return result;
+}
+
 @Override
 public synchronized Servlet loadServlet() throws ServletException {
 if (singleThreadModel) {



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r1356849 - /tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java

2012-07-03 Thread Mark Thomas
On 03/07/2012 18:54, fha...@apache.org wrote:
 Author: fhanik
 Date: Tue Jul  3 17:54:25 2012
 New Revision: 1356849
 
 URL: http://svn.apache.org/viewvc?rev=1356849view=rev
 Log:
 Allow servlets to specify async support as annotation when added 
 programatically
 
 Modified:
 tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java
 
 Modified: tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java
 URL: 
 http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java?rev=1356849r1=1356848r2=1356849view=diff
 ==
 --- tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java (original)
 +++ tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java Tue Jul  3 
 17:54:25 2012
 @@ -29,6 +29,7 @@ import java.util.logging.Logger;
  
  import javax.servlet.Servlet;
  import javax.servlet.ServletException;
 +import javax.servlet.annotation.WebServlet;
  
  import org.apache.catalina.Container;
  import org.apache.catalina.Context;
 @@ -801,11 +802,25 @@ public class Tomcat {
  @SuppressWarnings(deprecation)
  public ExistingStandardWrapper( Servlet existing ) {
  this.existing = existing;
 +this.asyncSupported = isAsyncSupported();

I don't get what the purpose of the above line is given that
asyncSupported is set again without apparently being used a few lines
later. What am I missing?

Mark


  if (existing instanceof javax.servlet.SingleThreadModel) {
  singleThreadModel = true;
  instancePool = new StackServlet();
  }
 +this.asyncSupported = hasAsync();
  }
 +
 +public boolean hasAsync() {
 +if (isAsyncSupported()) return true;
 +boolean result = false;
 +Class clazz = existing.getClass();
 +if (clazz.isAnnotationPresent(WebServlet.class)) {
 +WebServlet ws = 
 (WebServlet)clazz.getAnnotation(WebServlet.class);
 +result = ws.asyncSupported();
 +}
 +return result;
 +}
 +
  @Override
  public synchronized Servlet loadServlet() throws ServletException {
  if (singleThreadModel) {
 
 
 
 -
 To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: dev-h...@tomcat.apache.org
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



RE: svn commit: r1356849 - /tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java

2012-07-03 Thread Filip Hanik (mailing lists)


 -Original Message-
 From: Mark Thomas [mailto:ma...@apache.org]
 Sent: Tuesday, July 03, 2012 12:37 PM
 To: Tomcat Developers List
 Subject: Re: svn commit: r1356849 -
 /tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java
 
 On 03/07/2012 18:54, fha...@apache.org wrote:
  Author: fhanik
  Date: Tue Jul  3 17:54:25 2012
  New Revision: 1356849
 
  URL: http://svn.apache.org/viewvc?rev=1356849view=rev
  Log:
  Allow servlets to specify async support as annotation when added
 programatically
 
  Modified:
  tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java
 
  Modified: tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java
  URL:
 http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/start
 up/Tomcat.java?rev=1356849r1=1356848r2=1356849view=diff
 
 
 ==
  --- tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java
 (original)
  +++ tomcat/trunk/java/org/apache/catalina/startup/Tomcat.java Tue Jul
 3 17:54:25 2012
  @@ -29,6 +29,7 @@ import java.util.logging.Logger;
 
   import javax.servlet.Servlet;
   import javax.servlet.ServletException;
  +import javax.servlet.annotation.WebServlet;
 
   import org.apache.catalina.Container;
   import org.apache.catalina.Context;
  @@ -801,11 +802,25 @@ public class Tomcat {
   @SuppressWarnings(deprecation)
   public ExistingStandardWrapper( Servlet existing ) {
   this.existing = existing;
  +this.asyncSupported = isAsyncSupported();
 
 I don't get what the purpose of the above line is given that
 asyncSupported is set again without apparently being used a few lines
 later. What am I missing?
[Filip Hanik] 
That line will have to go. The other line ends up setting it to true if there 
is an annotation (default is false)

Filip 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org