JBossWeb SVN: r1468 - in trunk/java/org/apache/catalina: core and 1 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-05-07 08:38:52 -0400 (Fri, 07 May 2010)
New Revision: 1468
Modified:
trunk/java/org/apache/catalina/InstanceEvent.java
trunk/java/org/apache/catalina/core/ApplicationDispatcher.java
trunk/java/org/apache/catalina/core/ApplicationFilterChain.java
trunk/java/org/apache/catalina/core/StandardWrapper.java
trunk/java/org/apache/catalina/core/StandardWrapperValve.java
trunk/java/org/apache/catalina/util/InstanceSupport.java
Log:
- Event cleanup using a finally block.
- Add events for HTTP events.
Modified: trunk/java/org/apache/catalina/InstanceEvent.java
===================================================================
--- trunk/java/org/apache/catalina/InstanceEvent.java 2010-05-07 11:46:42 UTC (rev 1467)
+++ trunk/java/org/apache/catalina/InstanceEvent.java 2010-05-07 12:38:52 UTC (rev 1468)
@@ -25,7 +25,9 @@
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
+import org.jboss.servlet.http.HttpEvent;
+
/**
* General event for notifying listeners of significant events related to
* a specific instance of a Servlet, or a specific instance of a Filter,
@@ -344,6 +346,100 @@
}
+ /**
+ * Construct a new InstanceEvent with the specified parameters. This
+ * constructor is used for processing servlet processing events.
+ *
+ * @param wrapper Wrapper managing this servlet instance
+ * @param servlet Servlet instance for which this event occurred
+ * @param type Event type (required)
+ * @param event Event we are processing
+ * @param exception Exception that occurred
+ */
+ public InstanceEvent(Wrapper wrapper, Servlet servlet, String type,
+ HttpEvent event,
+ Throwable exception) {
+
+ super(wrapper);
+ this.wrapper = wrapper;
+ this.filter = null;
+ this.servlet = servlet;
+ this.type = type;
+ this.event = event;
+ this.exception = exception;
+
+ }
+
+
+ /**
+ * Construct a new InstanceEvent with the specified parameters. This
+ * constructor is used for processing servlet processing events.
+ *
+ * @param wrapper Wrapper managing this servlet instance
+ * @param servlet Servlet instance for which this event occurred
+ * @param type Event type (required)
+ * @param event Event we are processing
+ * @param exception Exception that occurred
+ */
+ public InstanceEvent(Wrapper wrapper, Servlet servlet, String type,
+ HttpEvent event) {
+
+ super(wrapper);
+ this.wrapper = wrapper;
+ this.filter = null;
+ this.servlet = servlet;
+ this.type = type;
+ this.event = event;
+
+ }
+
+
+ /**
+ * Construct a new InstanceEvent with the specified parameters. This
+ * constructor is used for processing servlet processing events.
+ *
+ * @param wrapper Wrapper managing this servlet instance
+ * @param filter Filter instance for which this event occurred
+ * @param type Event type (required)
+ * @param event Event we are processing
+ * @param exception Exception that occurred
+ */
+ public InstanceEvent(Wrapper wrapper, Filter filter, String type,
+ HttpEvent event,
+ Throwable exception) {
+
+ super(wrapper);
+ this.wrapper = wrapper;
+ this.filter = filter;
+ this.type = type;
+ this.event = event;
+ this.exception = exception;
+
+ }
+
+
+ /**
+ * Construct a new InstanceEvent with the specified parameters. This
+ * constructor is used for processing servlet processing events.
+ *
+ * @param wrapper Wrapper managing this servlet instance
+ * @param servlet Servlet instance for which this event occurred
+ * @param type Event type (required)
+ * @param event Event we are processing
+ * @param exception Exception that occurred
+ */
+ public InstanceEvent(Wrapper wrapper, Filter filter, String type,
+ HttpEvent event) {
+
+ super(wrapper);
+ this.wrapper = wrapper;
+ this.filter = filter;
+ this.type = type;
+ this.event = event;
+
+ }
+
+
// ----------------------------------------------------- Instance Variables
@@ -377,6 +473,13 @@
/**
+ * The event being processed (BEFORE_FILTER_EVENT,
+ * AFTER_FILTER_EVENT, BEFORE_SERVICE_EVENT, and AFTER_SERVICE_EVENT).
+ */
+ private HttpEvent event = null;
+
+
+ /**
* The Servlet instance for which this event occurred (not present on
* BEFORE_FILTER_EVENT or AFTER_FILTER_EVENT events).
*/
@@ -440,6 +543,16 @@
/**
+ * Return the event for which this event occurred.
+ */
+ public HttpEvent getEvent() {
+
+ return (this.event);
+
+ }
+
+
+ /**
* Return the servlet instance for which this event occurred.
*/
public Servlet getServlet() {
Modified: trunk/java/org/apache/catalina/core/ApplicationDispatcher.java
===================================================================
--- trunk/java/org/apache/catalina/core/ApplicationDispatcher.java 2010-05-07 11:46:42 UTC (rev 1467)
+++ trunk/java/org/apache/catalina/core/ApplicationDispatcher.java 2010-05-07 12:38:52 UTC (rev 1468)
@@ -720,8 +720,8 @@
ApplicationFilterFactory factory = ApplicationFilterFactory.getInstance();
ApplicationFilterChain filterChain = factory.createFilterChain(request, wrapper);
// Call the service() method for the allocated servlet instance
+ String jspFile = wrapper.getJspFile();
try {
- String jspFile = wrapper.getJspFile();
if (jspFile != null) {
request.setAttribute(Globals.JSP_FILE_ATTR, jspFile);
} else {
@@ -734,33 +734,18 @@
filterChain.doFilter(request, response);
}
// Servlet Service Method is called by the FilterChain
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_DISPATCH_EVENT,
- servlet, request, response);
} catch (ClientAbortException e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_DISPATCH_EVENT,
- servlet, request, response);
ioException = e;
} catch (IOException e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_DISPATCH_EVENT,
- servlet, request, response);
wrapper.getLogger().error(sm.getString("applicationDispatcher.serviceException",
wrapper.getName()), e);
ioException = e;
} catch (UnavailableException e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_DISPATCH_EVENT,
- servlet, request, response);
wrapper.getLogger().error(sm.getString("applicationDispatcher.serviceException",
wrapper.getName()), e);
servletException = e;
wrapper.unavailable(e);
} catch (ServletException e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_DISPATCH_EVENT,
- servlet, request, response);
Throwable rootCause = StandardWrapper.getRootCause(e);
if (!(rootCause instanceof ClientAbortException)) {
wrapper.getLogger().error(sm.getString("applicationDispatcher.serviceException",
@@ -768,12 +753,15 @@
}
servletException = e;
} catch (RuntimeException e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_DISPATCH_EVENT,
- servlet, request, response);
wrapper.getLogger().error(sm.getString("applicationDispatcher.serviceException",
wrapper.getName()), e);
runtimeException = e;
+ } finally {
+ if (jspFile != null) {
+ request.removeAttribute(Globals.JSP_FILE_ATTR);
+ }
+ support.fireInstanceEvent(InstanceEvent.AFTER_DISPATCH_EVENT,
+ servlet, request, response);
}
// Release the filter chain (if any) for this request
Modified: trunk/java/org/apache/catalina/core/ApplicationFilterChain.java
===================================================================
--- trunk/java/org/apache/catalina/core/ApplicationFilterChain.java 2010-05-07 11:46:42 UTC (rev 1467)
+++ trunk/java/org/apache/catalina/core/ApplicationFilterChain.java 2010-05-07 12:38:52 UTC (rev 1468)
@@ -248,6 +248,7 @@
throws IOException, ServletException {
InstanceSupport support = wrapper.getInstanceSupport();
+ Throwable throwable = null;
// Call the next filter if there is one
if (pos < filterCount) {
@@ -258,7 +259,6 @@
filter = filterConfig.getFilter();
support.fireInstanceEvent(InstanceEvent.BEFORE_FILTER_EVENT,
filter, request, response);
-
if( Globals.IS_SECURITY_ENABLED ) {
final ServletRequest req = request;
final ServletResponse res = response;
@@ -273,35 +273,24 @@
} else {
filter.doFilter(request, response, this);
}
-
- support.fireInstanceEvent(InstanceEvent.AFTER_FILTER_EVENT,
- filter, request, response);
- pointer--;
} catch (IOException e) {
- pointer--;
- if (filter != null)
- support.fireInstanceEvent(InstanceEvent.AFTER_FILTER_EVENT,
- filter, request, response, e);
+ throwable = e;
throw e;
} catch (ServletException e) {
- pointer--;
- if (filter != null)
- support.fireInstanceEvent(InstanceEvent.AFTER_FILTER_EVENT,
- filter, request, response, e);
+ throwable = e;
throw e;
} catch (RuntimeException e) {
- pointer--;
- if (filter != null)
- support.fireInstanceEvent(InstanceEvent.AFTER_FILTER_EVENT,
- filter, request, response, e);
+ throwable = e;
throw e;
} catch (Throwable e) {
+ throwable = e;
+ throw new ServletException(sm.getString("filterChain.filter"), e);
+ } finally {
pointer--;
- if (filter != null)
+ if (filter != null) {
support.fireInstanceEvent(InstanceEvent.AFTER_FILTER_EVENT,
- filter, request, response, e);
- throw new ServletException
- (sm.getString("filterChain.filter"), e);
+ filter, request, response, throwable);
+ }
}
return;
}
@@ -310,13 +299,12 @@
Servlet servlet = wrapper.getServlet();
pointer++;
try {
+ support.fireInstanceEvent(InstanceEvent.BEFORE_SERVICE_EVENT,
+ servlet, request, response);
if (Globals.STRICT_SERVLET_COMPLIANCE) {
lastServicedRequest.set(request);
lastServicedResponse.set(response);
}
-
- support.fireInstanceEvent(InstanceEvent.BEFORE_SERVICE_EVENT,
- servlet, request, response);
if ((request instanceof HttpServletRequest) &&
(response instanceof HttpServletResponse)) {
@@ -339,23 +327,17 @@
} else {
servlet.service(request, response);
}
- support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
- servlet, request, response);
} catch (IOException e) {
- support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
- servlet, request, response, e);
+ throwable = e;
throw e;
} catch (ServletException e) {
- support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
- servlet, request, response, e);
+ throwable = e;
throw e;
} catch (RuntimeException e) {
- support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
- servlet, request, response, e);
+ throwable = e;
throw e;
} catch (Throwable e) {
- support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
- servlet, request, response, e);
+ throwable = e;
throw new ServletException
(sm.getString("filterChain.servlet"), e);
} finally {
@@ -364,6 +346,8 @@
lastServicedRequest.set(null);
lastServicedResponse.set(null);
}
+ support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
+ servlet, request, response, throwable);
}
}
@@ -437,6 +421,9 @@
private void internalDoFilterEvent(HttpEvent event)
throws IOException, ServletException {
+ InstanceSupport support = wrapper.getInstanceSupport();
+ Throwable throwable = null;
+
// Call the next filter if there is one
if (pos < filterCount) {
ApplicationFilterConfig filterConfig = filters[pos++];
@@ -444,12 +431,8 @@
HttpEventFilter filter = null;
try {
filter = (HttpEventFilter) filterConfig.getFilter();
- // FIXME: No instance listener processing for events for now
- /*
support.fireInstanceEvent(InstanceEvent.BEFORE_FILTER_EVENT,
filter, event);
- */
-
if( Globals.IS_SECURITY_ENABLED ) {
final HttpEvent ev = event;
Principal principal =
@@ -463,41 +446,25 @@
} else {
filter.doFilterEvent(event, this);
}
-
- /*support.fireInstanceEvent(InstanceEvent.AFTER_FILTER_EVENT,
- filter, event);*/
- pointer--;
} catch (IOException e) {
- pointer--;
- /*
- if (filter != null)
- support.fireInstanceEvent(InstanceEvent.AFTER_FILTER_EVENT,
- filter, event, e);
- */
+ throwable = e;
throw e;
} catch (ServletException e) {
- pointer--;
- /*
- if (filter != null)
- support.fireInstanceEvent(InstanceEvent.AFTER_FILTER_EVENT,
- filter, event, e);
- */
+ throwable = e;
throw e;
} catch (RuntimeException e) {
- pointer--;
- /*
- if (filter != null)
- support.fireInstanceEvent(InstanceEvent.AFTER_FILTER_EVENT,
- filter, event, e);
- */
+ throwable = e;
throw e;
} catch (Throwable e) {
- pointer--;
- /*if (filter != null)
- support.fireInstanceEvent(InstanceEvent.AFTER_FILTER_EVENT,
- filter, event, e);*/
+ throwable = e;
throw new ServletException
(sm.getString("filterChain.filter"), e);
+ } finally {
+ pointer--;
+ if (filter != null) {
+ support.fireInstanceEvent
+ (InstanceEvent.AFTER_FILTER_EVENT, filter, event, throwable);
+ }
}
return;
}
@@ -506,10 +473,8 @@
Servlet servlet = wrapper.getServlet();
pointer++;
try {
- /*
support.fireInstanceEvent(InstanceEvent.BEFORE_SERVICE_EVENT,
- servlet, request, response);
- */
+ servlet, event);
if( Globals.IS_SECURITY_ENABLED ) {
final HttpEvent ev = event;
Principal principal =
@@ -524,39 +489,23 @@
} else {
((HttpEventServlet) servlet).event(event);
}
- /*
- support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
- servlet, request, response);*/
- pointer--;
} catch (IOException e) {
- pointer--;
- /*
- support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
- servlet, request, response, e);
- */
+ throwable = e;
throw e;
} catch (ServletException e) {
- pointer--;
- /*
- support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
- servlet, request, response, e);
- */
+ throwable = e;
throw e;
} catch (RuntimeException e) {
- pointer--;
- /*
- support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
- servlet, request, response, e);
- */
+ throwable = e;
throw e;
} catch (Throwable e) {
- pointer--;
- /*
- support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
- servlet, request, response, e);
- */
+ throwable = e;
throw new ServletException
(sm.getString("filterChain.servlet"), e);
+ } finally {
+ pointer--;
+ support.fireInstanceEvent(InstanceEvent.AFTER_SERVICE_EVENT,
+ servlet, event, throwable);
}
}
Modified: trunk/java/org/apache/catalina/core/StandardWrapper.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardWrapper.java 2010-05-07 11:46:42 UTC (rev 1467)
+++ trunk/java/org/apache/catalina/core/StandardWrapper.java 2010-05-07 12:38:52 UTC (rev 1468)
@@ -1121,7 +1121,7 @@
if (!singleThreadModel && (instance != null))
return instance;
- PrintStream out = System.out;
+ Throwable throwable = null;
Servlet servlet;
@@ -1227,27 +1227,25 @@
servlet.service(req, res);
}
}
- instanceSupport.fireInstanceEvent(InstanceEvent.AFTER_INIT_EVENT,
- servlet);
} catch (UnavailableException f) {
- instanceSupport.fireInstanceEvent(InstanceEvent.AFTER_INIT_EVENT,
- servlet, f);
+ throwable = f;
unavailable(f);
throw f;
} catch (ServletException f) {
- instanceSupport.fireInstanceEvent(InstanceEvent.AFTER_INIT_EVENT,
- servlet, f);
+ throwable = f;
// If the servlet wanted to be unavailable it would have
// said so, so do not call unavailable(null).
throw f;
} catch (Throwable f) {
+ throwable = f;
getServletContext().log("StandardWrapper.Throwable", f );
- instanceSupport.fireInstanceEvent(InstanceEvent.AFTER_INIT_EVENT,
- servlet, f);
// If the servlet wanted to be unavailable it would have
// said so, so do not call unavailable(null).
throw new ServletException
(sm.getString("standardWrapper.initException", getName()), f);
+ } finally {
+ instanceSupport.fireInstanceEvent(InstanceEvent.AFTER_INIT_EVENT,
+ servlet, throwable);
}
// Register our newly initialized instance
Modified: trunk/java/org/apache/catalina/core/StandardWrapperValve.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardWrapperValve.java 2010-05-07 11:46:42 UTC (rev 1467)
+++ trunk/java/org/apache/catalina/core/StandardWrapperValve.java 2010-05-07 12:38:52 UTC (rev 1468)
@@ -257,12 +257,13 @@
// Call the filter chain for this request
// NOTE: This also calls the servlet's service() method
+ String jspFile = wrapper.getJspFile();
try {
- String jspFile = wrapper.getJspFile();
- if (jspFile != null)
+ if (jspFile != null) {
request.setAttribute(Globals.JSP_FILE_ATTR, jspFile);
- else
+ } else {
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ }
support.fireInstanceEvent(InstanceEvent.BEFORE_REQUEST_EVENT,
servlet, request, response);
if ((servlet != null) && (filterChain != null)) {
@@ -275,27 +276,15 @@
(request.getRequest(), response.getResponse());
}
}
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
- servlet, request, response);
} catch (ClientAbortException e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
- servlet, request, response);
throwable = e;
exception(request, response, e);
} catch (IOException e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
- servlet, request, response);
container.getLogger().error(sm.getString("standardWrapper.serviceException",
wrapper.getName()), e);
throwable = e;
exception(request, response, e);
} catch (UnavailableException e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
- servlet, request, response);
container.getLogger().error(sm.getString("standardWrapper.serviceException",
wrapper.getName()), e);
// throwable = e;
@@ -315,9 +304,6 @@
// Do not save exception in 'throwable', because we
// do not want to do exception(request, response, e) processing
} catch (ServletException e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
- servlet, request, response);
Throwable rootCause = StandardWrapper.getRootCause(e);
if (!(rootCause instanceof ClientAbortException)) {
container.getLogger().error(sm.getString("standardWrapper.serviceException",
@@ -326,13 +312,16 @@
throwable = e;
exception(request, response, e);
} catch (Throwable e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
- servlet, request, response);
container.getLogger().error(sm.getString("standardWrapper.serviceException",
wrapper.getName()), e);
throwable = e;
exception(request, response, e);
+ } finally {
+ if (jspFile != null) {
+ request.removeAttribute(Globals.JSP_FILE_ATTR);
+ }
+ support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
+ servlet, request, response, throwable);
}
// Release the filter chain (if any) for this request
@@ -462,46 +451,32 @@
(ApplicationFilterChain) request.getFilterChain();
// Call the filter chain for this request
// NOTE: This also calls the servlet's event() method
+ String jspFile = wrapper.getJspFile();
try {
- String jspFile = wrapper.getJspFile();
- if (jspFile != null)
+ if (jspFile != null) {
request.setAttribute(Globals.JSP_FILE_ATTR, jspFile);
- else
+ } else {
request.removeAttribute(Globals.JSP_FILE_ATTR);
+ }
support.fireInstanceEvent(InstanceEvent.BEFORE_REQUEST_EVENT,
servlet, request, response);
if ((servlet != null) && (filterChain != null)) {
filterChain.doFilterEvent(request.getEvent());
}
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
- servlet, request, response);
} catch (ClientAbortException e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
- servlet, request, response);
throwable = e;
exception(request, response, e);
} catch (IOException e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
- servlet, request, response);
container.getLogger().error(sm.getString("standardWrapper.serviceException",
wrapper.getName()), e);
throwable = e;
exception(request, response, e);
} catch (UnavailableException e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
- servlet, request, response);
container.getLogger().error(sm.getString("standardWrapper.serviceException",
wrapper.getName()), e);
// Do not save exception in 'throwable', because we
// do not want to do exception(request, response, e) processing
} catch (ServletException e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
- servlet, request, response);
Throwable rootCause = StandardWrapper.getRootCause(e);
if (!(rootCause instanceof ClientAbortException)) {
container.getLogger().error(sm.getString("standardWrapper.serviceException",
@@ -510,13 +485,16 @@
throwable = e;
exception(request, response, e);
} catch (Throwable e) {
- request.removeAttribute(Globals.JSP_FILE_ATTR);
- support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
- servlet, request, response);
container.getLogger().error(sm.getString("standardWrapper.serviceException",
wrapper.getName()), e);
throwable = e;
exception(request, response, e);
+ } finally {
+ if (jspFile != null) {
+ request.removeAttribute(Globals.JSP_FILE_ATTR);
+ }
+ support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
+ servlet, request, response, throwable);
}
// Release the filter chain (if any) for this request
Modified: trunk/java/org/apache/catalina/util/InstanceSupport.java
===================================================================
--- trunk/java/org/apache/catalina/util/InstanceSupport.java 2010-05-07 11:46:42 UTC (rev 1467)
+++ trunk/java/org/apache/catalina/util/InstanceSupport.java 2010-05-07 12:38:52 UTC (rev 1468)
@@ -26,6 +26,7 @@
import org.apache.catalina.InstanceEvent;
import org.apache.catalina.InstanceListener;
import org.apache.catalina.Wrapper;
+import org.jboss.servlet.http.HttpEvent;
/**
@@ -304,6 +305,106 @@
/**
+ * Notify all lifecycle event listeners that a particular event has
+ * occurred for this Container. The default implementation performs
+ * this notification synchronously using the calling thread.
+ *
+ * @param type Event type
+ * @param servlet The relevant Servlet for this event
+ * @param httpEvent The HTTP event we are processing
+ * @param exception Exception that occurred
+ */
+ public void fireInstanceEvent(String type, Servlet servlet,
+ HttpEvent httpEvent,
+ Throwable exception) {
+
+ if (listeners.length == 0)
+ return;
+
+ InstanceEvent event = new InstanceEvent(wrapper, servlet, type,
+ httpEvent, exception);
+ InstanceListener interested[] = listeners;
+ for (int i = 0; i < interested.length; i++)
+ interested[i].instanceEvent(event);
+
+ }
+
+
+ /**
+ * Notify all lifecycle event listeners that a particular event has
+ * occurred for this Container. The default implementation performs
+ * this notification synchronously using the calling thread.
+ *
+ * @param type Event type
+ * @param servlet The relevant Servlet for this event
+ * @param httpEvent The HTTP event we are processing
+ */
+ public void fireInstanceEvent(String type, Servlet servlet,
+ HttpEvent httpEvent) {
+
+ if (listeners.length == 0)
+ return;
+
+ InstanceEvent event = new InstanceEvent(wrapper, servlet, type,
+ httpEvent);
+ InstanceListener interested[] = listeners;
+ for (int i = 0; i < interested.length; i++)
+ interested[i].instanceEvent(event);
+
+ }
+
+
+ /**
+ * Notify all lifecycle event listeners that a particular event has
+ * occurred for this Container. The default implementation performs
+ * this notification synchronously using the calling thread.
+ *
+ * @param type Event type
+ * @param filter The relevant Filter for this event
+ * @param httpEvent The HTTP event we are processing
+ * @param exception Exception that occurred
+ */
+ public void fireInstanceEvent(String type, Filter filter,
+ HttpEvent httpEvent,
+ Throwable exception) {
+
+ if (listeners.length == 0)
+ return;
+
+ InstanceEvent event = new InstanceEvent(wrapper, filter, type,
+ httpEvent, exception);
+ InstanceListener interested[] = listeners;
+ for (int i = 0; i < interested.length; i++)
+ interested[i].instanceEvent(event);
+
+ }
+
+
+ /**
+ * Notify all lifecycle event listeners that a particular event has
+ * occurred for this Container. The default implementation performs
+ * this notification synchronously using the calling thread.
+ *
+ * @param type Event type
+ * @param filter The relevant Filter for this event
+ * @param httpEvent The HTTP event we are processing
+ */
+ public void fireInstanceEvent(String type, Filter filter,
+ HttpEvent httpEvent) {
+
+ if (listeners.length == 0)
+ return;
+
+ InstanceEvent event = new InstanceEvent(wrapper, filter, type,
+ httpEvent);
+ InstanceListener interested[] = listeners;
+ for (int i = 0; i < interested.length; i++)
+ interested[i].instanceEvent(event);
+
+ }
+
+
+ /**
* Remove a lifecycle event listener from this component.
*
* @param listener The listener to remove
14 years
JBossWeb SVN: r1467 - trunk.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-05-07 07:46:42 -0400 (Fri, 07 May 2010)
New Revision: 1467
Modified:
trunk/BUILDING.txt
trunk/RELEASE-NOTES
Log:
- Cleanup.
Modified: trunk/BUILDING.txt
===================================================================
--- trunk/BUILDING.txt 2010-05-07 11:46:06 UTC (rev 1466)
+++ trunk/BUILDING.txt 2010-05-07 11:46:42 UTC (rev 1467)
@@ -105,20 +105,8 @@
cd ${jboss-web.source}
ant
-(5) Building the Servlet and JSP API documentation
+(5) Building EL parser with JavaCC 4.1+:
-The documentation can be easily built:
-
- cd ${jboss-web.source}
- ant -f dist.xml dist-javadoc
-
-(6) Building a release running tests:
-
- cd ${jboss-web.source}
- ant -f dist.xml release
-
-(7) Building EL parser with JavaCC 4.1+:
-
Download JavaCC 4.1+
export JAVACC_HOME=/somepath/javacc-4.1
export PATH=$JAVACC_HOME/bin:$PATH
Modified: trunk/RELEASE-NOTES
===================================================================
--- trunk/RELEASE-NOTES 2010-05-07 11:46:06 UTC (rev 1466)
+++ trunk/RELEASE-NOTES 2010-05-07 11:46:42 UTC (rev 1467)
@@ -4,23 +4,6 @@
Release Notes
-=============================
-KNOWN ISSUES IN THIS RELEASE:
-=============================
-
-* Dependency Changes
-* JNI Based Applications
-* Bundled APIs
-* Web application reloading and static fields in shared libraries
-* Tomcat on Linux
-* Enabling SSI and CGI Support
-* Security manager URLs
-* Symlinking static resources
-* Enabling invoker servlet
-* Viewing the Tomcat Change Log
-* When all else fails
-
-
===================
Dependency Changes:
===================
@@ -57,43 +40,6 @@
during the lifetime of a particular JVM.
-=============
-Bundled APIs:
-=============
-A standard installation of JBoss Web makes all of the following APIs available
-for use by web applications (by placing them in "common/lib"):
-* el-api.jar (EL 2.1 API)
-* jsp-api.jar (JSP 2.2 API)
-* servlet-api.jar (Servlet 3.0 API)
-
-In server/default/deploy/jbossweb.sar you will find
-* jbossweb.jar which contains most of the JBoss Web classes.
-* jstl.jar jstl classes.
-* jasper-jdt.jar (Eclipse JDT 3.2 Java compiler)
-
-You can make additional APIs available to all of your web applications by
-putting unpacked classes into a "classes" directory (not created by default),
-or by placing them in JAR files in the "lib" directory.
-
-To override the XML parser implementation or interfaces, use the endorsed
-mechanism of the JVM. The default configuration defines JARs located in
-"endorsed" as endorsed.
-
-
-================================================================
-Web application reloading and static fields in shared libraries:
-================================================================
-Some shared libraries (many are part of the JDK) keep references to objects
-instantiated by the web application. To avoid class loading related problems
-(ClassCastExceptions, messages indicating that the classloader
-is stopped, etc.), the shared libraries state should be reinitialized.
-
-Something which might help is to avoid putting classes which would be
-referenced by a shared static field in the web application classloader,
-and putting them in the shared classloader instead (JARs should be put in the
-"lib" folder, and classes should be put in the "classes" folder).
-
-
=============================
Enabling SSI and CGI Support:
=============================
@@ -101,16 +47,6 @@
attributes documentation for more details.
-======================
-Security manager URLs:
-======================
-In order to grant security permissions to JARs located inside the
-web application repository, use URLs of of the following format
-in your policy file:
-
-file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
-
-
============================
Symlinking static resources:
============================
@@ -121,19 +57,6 @@
the check.
-=========================
-Enabling invoker servlet:
-=========================
-Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
-default in all webapps. Enabling it for all webapps is possible by editing
-$CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
-definition.
-
-Using the invoker servlet in a production environment is not recommended and
-is unsupported. More details are available on the Tomcat FAQ at
-http://tomcat.apache.org/faq/misc.html#invoker.
-
-
================================
Viewing the JBoss Web Change Log:
================================
14 years
JBossWeb SVN: r1466 - in trunk: java/org/apache/catalina/core and 2 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-05-07 07:46:06 -0400 (Fri, 07 May 2010)
New Revision: 1466
Removed:
trunk/java/org/apache/tomcat/util/log/CaptureLog.java
trunk/java/org/apache/tomcat/util/log/SystemLogHandler.java
Modified:
trunk/java/org/apache/catalina/Context.java
trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java
trunk/java/org/apache/catalina/core/StandardContext.java
trunk/java/org/apache/catalina/core/StandardWrapper.java
trunk/java/org/apache/catalina/core/StandardWrapperValve.java
trunk/java/org/apache/catalina/core/mbeans-descriptors.xml
trunk/webapps/docs/changelog.xml
Log:
- Drop system streams capture.
Modified: trunk/java/org/apache/catalina/Context.java
===================================================================
--- trunk/java/org/apache/catalina/Context.java 2010-05-06 13:36:51 UTC (rev 1465)
+++ trunk/java/org/apache/catalina/Context.java 2010-05-07 11:46:06 UTC (rev 1466)
@@ -481,22 +481,6 @@
/**
- * Return the value of the swallowOutput flag.
- */
- public boolean getSwallowOutput();
-
-
- /**
- * Set the value of the swallowOutput flag. If set to true, the system.out
- * and system.err will be redirected to the logger during a servlet
- * execution.
- *
- * @param swallowOutput The new value
- */
- public void setSwallowOutput(boolean swallowOutput);
-
-
- /**
* Return the Java class name of the Wrapper implementation used
* for servlets registered in this Context.
*/
Modified: trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java
===================================================================
--- trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java 2010-05-06 13:36:51 UTC (rev 1465)
+++ trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java 2010-05-07 11:46:06 UTC (rev 1466)
@@ -75,7 +75,6 @@
import org.apache.catalina.security.SecurityUtil;
import org.apache.catalina.util.Enumerator;
import org.apache.catalina.util.StringManager;
-import org.apache.tomcat.util.log.SystemLogHandler;
import org.apache.tomcat.util.modeler.Registry;
@@ -445,20 +444,7 @@
filterInstance = null;
}
- if (context instanceof StandardContext &&
- context.getSwallowOutput()) {
- try {
- SystemLogHandler.startCapture();
- filter.init(this);
- } finally {
- String log = SystemLogHandler.stopCapture();
- if (log != null && log.length() > 0) {
- getServletContext().log(log);
- }
- }
- } else {
- filter.init(this);
- }
+ filter.init(this);
// Expose filter via JMX
registerJMX();
Modified: trunk/java/org/apache/catalina/core/StandardContext.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardContext.java 2010-05-06 13:36:51 UTC (rev 1465)
+++ trunk/java/org/apache/catalina/core/StandardContext.java 2010-05-07 11:46:06 UTC (rev 1466)
@@ -533,13 +533,6 @@
/**
- * Set flag to true to cause the system.out and system.err to be redirected
- * to the logger when executing a servlet.
- */
- protected boolean swallowOutput = false;
-
-
- /**
* The JSP tag libraries for this web application, keyed by URI
*/
protected HashMap<String, String> taglibs = new HashMap<String, String>();
@@ -1532,28 +1525,6 @@
/**
- * Return the value of the swallowOutput flag.
- */
- public boolean getSwallowOutput() {
- return (this.swallowOutput);
- }
-
-
- /**
- * Set the value of the swallowOutput flag. If set to true, the system.out
- * and system.err will be redirected to the logger during a servlet
- * execution.
- *
- * @param swallowOutput The new value
- */
- public void setSwallowOutput(boolean swallowOutput) {
- boolean oldSwallowOutput = this.swallowOutput;
- this.swallowOutput = swallowOutput;
- support.firePropertyChange("swallowOutput", oldSwallowOutput, this.swallowOutput);
- }
-
-
- /**
* Return the value of the unloadDelay flag.
*/
public long getUnloadDelay() {
Modified: trunk/java/org/apache/catalina/core/StandardWrapper.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardWrapper.java 2010-05-06 13:36:51 UTC (rev 1465)
+++ trunk/java/org/apache/catalina/core/StandardWrapper.java 2010-05-07 11:46:06 UTC (rev 1466)
@@ -62,7 +62,6 @@
import org.apache.catalina.util.InstanceSupport;
import org.apache.tomcat.InstanceManager;
import org.apache.tomcat.PeriodicEventListener;
-import org.apache.tomcat.util.log.SystemLogHandler;
import org.apache.tomcat.util.modeler.Registry;
/**
@@ -289,11 +288,6 @@
protected ObjectName jspMonitorON;
- /**
- * Should we swallow System.out
- */
- protected boolean swallowOutput = false;
-
// To support jmx attributes
protected StandardWrapperValve swValve;
protected long loadTime=0;
@@ -607,7 +601,6 @@
throw new IllegalArgumentException
(sm.getString("standardWrapper.notContext"));
if (container instanceof StandardContext) {
- swallowOutput = ((StandardContext)container).getSwallowOutput();
unloadDelay = ((StandardContext)container).getUnloadDelay();
}
super.setParent(container);
@@ -1129,12 +1122,9 @@
return instance;
PrintStream out = System.out;
- if (swallowOutput) {
- SystemLogHandler.startCapture();
- }
Servlet servlet;
- try {
+
long t1=System.currentTimeMillis();
// If this "servlet" is really a JSP file, get the right class.
// HOLD YOUR NOSE - this is a kludge that avoids having to do special
@@ -1269,18 +1259,7 @@
fireContainerEvent("load", this);
loadTime=System.currentTimeMillis() -t1;
- } finally {
- if (swallowOutput) {
- String log = SystemLogHandler.stopCapture();
- if (log != null && log.length() > 0) {
- if (getServletContext() != null) {
- getServletContext().log(log);
- } else {
- out.println(log);
- }
- }
- }
- }
+
return servlet;
}
@@ -1397,9 +1376,6 @@
unloading = true;
PrintStream out = System.out;
- if (swallowOutput) {
- SystemLogHandler.startCapture();
- }
// Call the servlet destroy() method
try {
@@ -1431,18 +1407,6 @@
throw new ServletException
(sm.getString("standardWrapper.destroyException", getName()),
t);
- } finally {
- // Write captured output
- if (swallowOutput) {
- String log = SystemLogHandler.stopCapture();
- if (log != null && log.length() > 0) {
- if (getServletContext() != null) {
- getServletContext().log(log);
- } else {
- out.println(log);
- }
- }
- }
}
// Deregister the destroyed instance
Modified: trunk/java/org/apache/catalina/core/StandardWrapperValve.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardWrapperValve.java 2010-05-06 13:36:51 UTC (rev 1465)
+++ trunk/java/org/apache/catalina/core/StandardWrapperValve.java 2010-05-07 11:46:06 UTC (rev 1466)
@@ -74,7 +74,6 @@
import org.apache.catalina.util.InstanceSupport;
import org.apache.catalina.util.StringManager;
import org.apache.catalina.valves.ValveBase;
-import org.apache.tomcat.util.log.SystemLogHandler;
import org.jboss.servlet.http.HttpEvent;
import org.jboss.servlet.http.HttpEventServlet;
import org.jboss.servlet.http.HttpEvent.EventType;
@@ -267,35 +266,14 @@
support.fireInstanceEvent(InstanceEvent.BEFORE_REQUEST_EVENT,
servlet, request, response);
if ((servlet != null) && (filterChain != null)) {
- // Swallow output if needed
- if (context.getSwallowOutput()) {
- try {
- SystemLogHandler.startCapture();
- if (event) {
- request.setEventMode(true);
- request.getSession(true);
- filterChain.doFilterEvent(request.getEvent());
- } else {
- filterChain.doFilter(request.getRequest(),
- response.getResponse());
- }
- } finally {
- String log = SystemLogHandler.stopCapture();
- if (log != null && log.length() > 0) {
- context.getLogger().info(log);
- }
- }
+ if (event) {
+ request.setEventMode(true);
+ request.getSession(true);
+ filterChain.doFilterEvent(request.getEvent());
} else {
- if (event) {
- request.setEventMode(true);
- request.getSession(true);
- filterChain.doFilterEvent(request.getEvent());
- } else {
- filterChain.doFilter
- (request.getRequest(), response.getResponse());
- }
+ filterChain.doFilter
+ (request.getRequest(), response.getResponse());
}
-
}
request.removeAttribute(Globals.JSP_FILE_ATTR);
support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
@@ -493,20 +471,7 @@
support.fireInstanceEvent(InstanceEvent.BEFORE_REQUEST_EVENT,
servlet, request, response);
if ((servlet != null) && (filterChain != null)) {
- // Swallow output if needed
- if (context.getSwallowOutput()) {
- try {
- SystemLogHandler.startCapture();
- filterChain.doFilterEvent(request.getEvent());
- } finally {
- String log = SystemLogHandler.stopCapture();
- if (log != null && log.length() > 0) {
- context.getLogger().info(log);
- }
- }
- } else {
- filterChain.doFilterEvent(request.getEvent());
- }
+ filterChain.doFilterEvent(request.getEvent());
}
request.removeAttribute(Globals.JSP_FILE_ATTR);
support.fireInstanceEvent(InstanceEvent.AFTER_REQUEST_EVENT,
Modified: trunk/java/org/apache/catalina/core/mbeans-descriptors.xml
===================================================================
--- trunk/java/org/apache/catalina/core/mbeans-descriptors.xml 2010-05-06 13:36:51 UTC (rev 1465)
+++ trunk/java/org/apache/catalina/core/mbeans-descriptors.xml 2010-05-07 11:46:06 UTC (rev 1466)
@@ -184,10 +184,6 @@
type="javax.naming.directory.DirContext"
writeable="false"/>
- <attribute name="swallowOutput"
- description="Flag to set to cause the system.out and system.err to be redirected to the logger when executing a servlet"
- type="boolean"/>
-
<attribute name="unloadDelay"
description="Amount of ms that the container will wait for servlets to unload"
type="long"/>
Deleted: trunk/java/org/apache/tomcat/util/log/CaptureLog.java
===================================================================
--- trunk/java/org/apache/tomcat/util/log/CaptureLog.java 2010-05-06 13:36:51 UTC (rev 1465)
+++ trunk/java/org/apache/tomcat/util/log/CaptureLog.java 2010-05-07 11:46:06 UTC (rev 1466)
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.tomcat.util.log;
-
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-
-/**
- * Per Thread System.err and System.out log capture data.
- *
- * @author Glenn L. Nielsen
- */
-
-class CaptureLog {
-
- protected CaptureLog() {
- baos = new ByteArrayOutputStream();
- ps = new PrintStream(baos);
- }
-
- private ByteArrayOutputStream baos;
- private PrintStream ps;
-
- protected PrintStream getStream() {
- return ps;
- }
-
- protected void reset() {
- baos.reset();
- }
-
- protected String getCapture() {
- return baos.toString();
- }
-}
Deleted: trunk/java/org/apache/tomcat/util/log/SystemLogHandler.java
===================================================================
--- trunk/java/org/apache/tomcat/util/log/SystemLogHandler.java 2010-05-06 13:36:51 UTC (rev 1465)
+++ trunk/java/org/apache/tomcat/util/log/SystemLogHandler.java 2010-05-07 11:46:06 UTC (rev 1466)
@@ -1,245 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.tomcat.util.log;
-
-import java.io.IOException;
-import java.io.PrintStream;
-import java.util.EmptyStackException;
-import java.util.Stack;
-
-/**
- * This helper class may be used to do sophisticated redirection of
- * System.out and System.err on a per Thread basis.
- *
- * A stack is implemented per Thread so that nested startCapture
- * and stopCapture can be used.
- *
- * @author Remy Maucherat
- * @author Glenn L. Nielsen
- */
-public class SystemLogHandler extends PrintStream {
-
-
- // ----------------------------------------------------------- Constructors
-
-
- /**
- * Construct the handler to capture the output of the given steam.
- */
- public SystemLogHandler(PrintStream wrapped) {
- super(wrapped);
- out = wrapped;
- }
-
-
- // ----------------------------------------------------- Instance Variables
-
-
- /**
- * Wrapped PrintStream.
- */
- protected PrintStream out = null;
-
-
- /**
- * Thread <-> CaptureLog associations.
- */
- protected static ThreadLocal logs = new ThreadLocal();
-
-
- /**
- * Spare CaptureLog ready for reuse.
- */
- protected static Stack reuse = new Stack();
-
-
- // --------------------------------------------------------- Public Methods
-
-
- /**
- * Start capturing thread's output.
- */
- public static void startCapture() {
- CaptureLog log = null;
- if (!reuse.isEmpty()) {
- try {
- log = (CaptureLog)reuse.pop();
- } catch (EmptyStackException e) {
- log = new CaptureLog();
- }
- } else {
- log = new CaptureLog();
- }
- Stack stack = (Stack)logs.get();
- if (stack == null) {
- stack = new Stack();
- logs.set(stack);
- }
- stack.push(log);
- }
-
-
- /**
- * Stop capturing thread's output and return captured data as a String.
- */
- public static String stopCapture() {
- Stack stack = (Stack)logs.get();
- if (stack == null || stack.isEmpty()) {
- return null;
- }
- CaptureLog log = (CaptureLog)stack.pop();
- if (log == null) {
- return null;
- }
- String capture = log.getCapture();
- log.reset();
- reuse.push(log);
- return capture;
- }
-
-
- // ------------------------------------------------------ Protected Methods
-
-
- /**
- * Find PrintStream to which the output must be written to.
- */
- protected PrintStream findStream() {
- Stack stack = (Stack)logs.get();
- if (stack != null && !stack.isEmpty()) {
- CaptureLog log = (CaptureLog)stack.peek();
- if (log != null) {
- PrintStream ps = log.getStream();
- if (ps != null) {
- return ps;
- }
- }
- }
- return out;
- }
-
-
- // ---------------------------------------------------- PrintStream Methods
-
-
- public void flush() {
- findStream().flush();
- }
-
- public void close() {
- findStream().close();
- }
-
- public boolean checkError() {
- return findStream().checkError();
- }
-
- protected void setError() {
- //findStream().setError();
- }
-
- public void write(int b) {
- findStream().write(b);
- }
-
- public void write(byte[] b)
- throws IOException {
- findStream().write(b);
- }
-
- public void write(byte[] buf, int off, int len) {
- findStream().write(buf, off, len);
- }
-
- public void print(boolean b) {
- findStream().print(b);
- }
-
- public void print(char c) {
- findStream().print(c);
- }
-
- public void print(int i) {
- findStream().print(i);
- }
-
- public void print(long l) {
- findStream().print(l);
- }
-
- public void print(float f) {
- findStream().print(f);
- }
-
- public void print(double d) {
- findStream().print(d);
- }
-
- public void print(char[] s) {
- findStream().print(s);
- }
-
- public void print(String s) {
- findStream().print(s);
- }
-
- public void print(Object obj) {
- findStream().print(obj);
- }
-
- public void println() {
- findStream().println();
- }
-
- public void println(boolean x) {
- findStream().println(x);
- }
-
- public void println(char x) {
- findStream().println(x);
- }
-
- public void println(int x) {
- findStream().println(x);
- }
-
- public void println(long x) {
- findStream().println(x);
- }
-
- public void println(float x) {
- findStream().println(x);
- }
-
- public void println(double x) {
- findStream().println(x);
- }
-
- public void println(char[] x) {
- findStream().println(x);
- }
-
- public void println(String x) {
- findStream().println(x);
- }
-
- public void println(Object x) {
- findStream().println(x);
- }
-
-}
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2010-05-06 13:36:51 UTC (rev 1465)
+++ trunk/webapps/docs/changelog.xml 2010-05-07 11:46:06 UTC (rev 1466)
@@ -33,7 +33,7 @@
Add filter before method fix. (markt, kkolinko)
</fix>
<update>
- More standalone code removal. (remm)
+ More standalone code removal (incl system streams swallowing). (remm)
</update>
</changelog>
</subsection>
14 years
JBossWeb SVN: r1465 - branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/session.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2010-05-06 09:36:51 -0400 (Thu, 06 May 2010)
New Revision: 1465
Modified:
branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/session/ManagerBase.java
Log:
Patch for JBWEB-167.
Modified: branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/session/ManagerBase.java
===================================================================
--- branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/session/ManagerBase.java 2010-05-06 13:32:44 UTC (rev 1464)
+++ branches/JBOSSWEB_2_0_0_GA_CP/src/share/classes/org/apache/catalina/session/ManagerBase.java 2010-05-06 13:36:51 UTC (rev 1465)
@@ -49,6 +49,7 @@
import org.apache.catalina.Session;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.core.StandardHost;
+import org.apache.catalina.util.Base64;
import org.apache.catalina.util.StringManager;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -386,7 +387,7 @@
// Ignore
}
if (apr) {
- setEntropy(new String(result));
+ setEntropy(new String(Base64.encode(result)));
} else {
setEntropy(this.toString());
}
14 years
JBossWeb SVN: r1464 - trunk/java/org/apache/catalina/session.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2010-05-06 09:32:44 -0400 (Thu, 06 May 2010)
New Revision: 1464
Modified:
trunk/java/org/apache/catalina/session/ManagerBase.java
Log:
Fix for JBWEB-167.
Modified: trunk/java/org/apache/catalina/session/ManagerBase.java
===================================================================
--- trunk/java/org/apache/catalina/session/ManagerBase.java 2010-05-06 13:13:41 UTC (rev 1463)
+++ trunk/java/org/apache/catalina/session/ManagerBase.java 2010-05-06 13:32:44 UTC (rev 1464)
@@ -49,6 +49,7 @@
import org.apache.catalina.Session;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.core.StandardHost;
+import org.apache.catalina.util.Base64;
import org.apache.catalina.util.StringManager;
import org.apache.tomcat.util.modeler.Registry;
import org.jboss.logging.Logger;
@@ -400,7 +401,7 @@
// Ignore
}
if (apr) {
- setEntropy(new String(result));
+ setEntropy(new String(Base64.encode(result)));
} else {
setEntropy(this.toString());
}
14 years
JBossWeb SVN: r1463 - branches/2.1.x/java/org/apache/catalina/session.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2010-05-06 09:13:41 -0400 (Thu, 06 May 2010)
New Revision: 1463
Modified:
branches/2.1.x/java/org/apache/catalina/session/ManagerBase.java
Log:
Fix for JBWEB-167.
Modified: branches/2.1.x/java/org/apache/catalina/session/ManagerBase.java
===================================================================
--- branches/2.1.x/java/org/apache/catalina/session/ManagerBase.java 2010-05-05 15:34:18 UTC (rev 1462)
+++ branches/2.1.x/java/org/apache/catalina/session/ManagerBase.java 2010-05-06 13:13:41 UTC (rev 1463)
@@ -49,6 +49,7 @@
import org.apache.catalina.Session;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.core.StandardHost;
+import org.apache.catalina.util.Base64;
import org.apache.catalina.util.StringManager;
import org.apache.tomcat.util.modeler.Registry;
import org.jboss.logging.Logger;
@@ -386,7 +387,7 @@
// Ignore
}
if (apr) {
- setEntropy(new String(result));
+ setEntropy(new String(Base64.encode(result)));
} else {
setEntropy(this.toString());
}
14 years
JBossWeb SVN: r1462 - trunk.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2010-05-05 11:34:18 -0400 (Wed, 05 May 2010)
New Revision: 1462
Modified:
trunk/NOTICE
Log:
- Not using NSIS anymore.
Modified: trunk/NOTICE
===================================================================
--- trunk/NOTICE 2010-05-05 15:10:09 UTC (rev 1461)
+++ trunk/NOTICE 2010-05-05 15:34:18 UTC (rev 1462)
@@ -10,12 +10,6 @@
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
-The Windows Installer is built with the
-Nullsoft Scriptable Install Sysem (NSIS), which is
-open source software. The original software and
-related information is available at
-http://nsis.sourceforge.net.
-
Java compilation software for JSP pages is provided by Eclipse,
which is open source software. The orginal software and
related infomation is available at http://www.eclipse.org.
14 years
JBossWeb SVN: r1461 - branches/JBOSSWEB_2_0_0_GA_CP13_JBPAPP-4185/src/share/classes/org/apache/catalina/core.
by jbossweb-commits@lists.jboss.org
Author: mmillson
Date: 2010-05-05 11:10:09 -0400 (Wed, 05 May 2010)
New Revision: 1461
Modified:
branches/JBOSSWEB_2_0_0_GA_CP13_JBPAPP-4185/src/share/classes/org/apache/catalina/core/ApplicationContext.java
Log:
Fix CacheEntry leak for [JBPAPP-4185].
Modified: branches/JBOSSWEB_2_0_0_GA_CP13_JBPAPP-4185/src/share/classes/org/apache/catalina/core/ApplicationContext.java
===================================================================
--- branches/JBOSSWEB_2_0_0_GA_CP13_JBPAPP-4185/src/share/classes/org/apache/catalina/core/ApplicationContext.java 2010-05-05 01:34:40 UTC (rev 1460)
+++ branches/JBOSSWEB_2_0_0_GA_CP13_JBPAPP-4185/src/share/classes/org/apache/catalina/core/ApplicationContext.java 2010-05-05 15:10:09 UTC (rev 1461)
@@ -924,7 +924,7 @@
* Internal class used as thread-local storage when doing path
* mapping during dispatch.
*/
- private final class DispatchData {
+ private static final class DispatchData {
public MessageBytes uriMB;
public MappingData mappingData;
14 years
JBossWeb SVN: r1460 - branches.
by jbossweb-commits@lists.jboss.org
Author: mmillson
Date: 2010-05-04 21:34:40 -0400 (Tue, 04 May 2010)
New Revision: 1460
Added:
branches/JBOSSWEB_2_0_0_GA_CP13_JBPAPP-4185/
Log:
Create JBPAPP-4185 patch branch from JBOSSWEB_2_0_0_GA_CP13 tag
Copied: branches/JBOSSWEB_2_0_0_GA_CP13_JBPAPP-4185 (from rev 1459, tags/JBOSSWEB_2_0_0_GA_CP13)
14 years