Skip to content
This repository was archived by the owner on Aug 17, 2018. It is now read-only.

Commit e93981c

Browse files
author
Jan Luehe
committed
Fix for https://glassfish.dev.java.net/issues/show_bug.cgi?id=9657 ("incorrect server.web.jsp.activejspsloadedcount-count")
Tests run: QL svn path=/trunk/; revision=1171
1 parent 9ecfe38 commit e93981c

2 files changed

Lines changed: 16 additions & 10 deletions

File tree

impl/src/main/java/org/apache/jasper/servlet/JspServletWrapper.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ public class JspServletWrapper {
120120
private boolean isTagFile;
121121
private int tripCount;
122122
private JasperException compileException;
123+
private JspProbeEmitter jspProbeEmitter;
123124
/* PWC 6468930
124125
private long servletClassLastModifiedTime;
125126
*/
@@ -140,6 +141,10 @@ public class JspServletWrapper {
140141
this.config = config;
141142
this.options = options;
142143
this.jspUri = jspUri;
144+
this.jspProbeEmitter = (JspProbeEmitter)
145+
config.getServletContext().getAttribute(
146+
"org.glassfish.jsp.monitor.probeEmitter");
147+
143148
ctxt = new JspCompilationContext(jspUri, isErrorPage, options,
144149
config.getServletContext(),
145150
this, rctxt);
@@ -208,15 +213,9 @@ public Servlet getServlet()
208213

209214
reload = false;
210215

211-
/*
212-
* If the container implements JspProbeEmitter, fire the
213-
* Jsp loaded event.
214-
*/
215-
JspProbeEmitter jspProbe = (JspProbeEmitter)
216-
getServletContext().getAttribute(
217-
"org.glassfish.jsp.monitor.probeEmitter");
218-
if (jspProbe != null) {
219-
jspProbe.jspLoadedEvent(theServlet);
216+
// Fire the jspLoadedEvent probe event
217+
if (jspProbeEmitter != null) {
218+
jspProbeEmitter.jspLoadedEvent(theServlet);
220219
}
221220
}
222221
}
@@ -436,6 +435,10 @@ public void service(HttpServletRequest request,
436435
public void destroy() {
437436
if (theServlet != null) {
438437
theServlet.destroy();
438+
// Fire the jspDestroyedEvent probe event
439+
if (jspProbeEmitter != null) {
440+
jspProbeEmitter.jspDestroyedEvent(theServlet);
441+
}
439442
}
440443
}
441444

impl/src/main/java/org/glassfish/jsp/api/JspProbeEmitter.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636

3737
package org.glassfish.jsp.api;
3838

39+
import javax.servlet.Servlet;
40+
3941
/**
4042
* Interface for triggering events useful for monitoring.
4143
*
@@ -45,7 +47,8 @@
4547

4648
public interface JspProbeEmitter {
4749

48-
public void jspLoadedEvent(javax.servlet.Servlet jspServlet);
50+
public void jspLoadedEvent(Servlet jspServlet);
4951

52+
public void jspDestroyedEvent(Servlet jspServlet);
5053
}
5154

0 commit comments

Comments
 (0)