Re: tomcat5.exe on Windows x64
George Sexton wrote: George Sexton wrote: When I looked at the Commons-Daemon one, all of the entries were 3 or more years old, so I didn't think it was in use. At least the change log didn't have anything more current than 3 years... I will try to check the JIRA's of commons=daemon and fix what needed to be fix around Christmas. Cheers Jean-Frederic - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 46373] tomcat6 cpu100%
https://issues.apache.org/bugzilla/show_bug.cgi?id=46373 huangjunjie <[EMAIL PROTECTED]> changed: What|Removed |Added Status|NEEDINFO|ASSIGNED --- Comment #2 from huangjunjie <[EMAIL PROTECTED]> 2008-12-11 01:57:22 PST --- there's many servers with compression "on" or "off",and a few of both kind of server has been found to show the same situation, cpu grows 100% suddenly,and the jstack infomation is the same, until restart tomcat. it's hard to reproduce, there's no regular rule, but all of the servers need to process over 200 request per second .there may be something wrong with the concorrency -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
svn commit: r725685 - /tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
Author: fhanik Date: Thu Dec 11 05:50:00 2008 New Revision: 725685 URL: http://svn.apache.org/viewvc?rev=725685&view=rev Log: house keeping Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java?rev=725685&r1=725684&r2=725685&view=diff == --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java Thu Dec 11 05:50:00 2008 @@ -105,12 +105,7 @@ */ @Override public void closeInvoked() { -try { -queries = null; -}catch (Exception x) { -log.debug(x); -} - +queries = null; } /** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DO NOT REPLY [Bug 46381] New: Coerce EL expression to java.lang.Object breaks expression concatenation
https://issues.apache.org/bugzilla/show_bug.cgi?id=46381 Summary: Coerce EL expression to java.lang.Object breaks expression concatenation Product: Tomcat 6 Version: unspecified Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: Servlet & JSP API AssignedTo: dev@tomcat.apache.org ReportedBy: [EMAIL PROTECTED] Created an attachment (id=23009) --> (https://issues.apache.org/bugzilla/attachment.cgi?id=23009) Source file I have a simple tag with expression concatenation. This tag breaks with this stack trace: org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 22 in the jsp file: /templates/paragraphs/notizia.jsp The operator + is undefined for the argument type(s) java.lang.Object, java.lang.Object 19: 20: 21: 22: 23: 24: 25: ${node.testo} Stacktrace: at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:299) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488) at info.magnolia.context.WebContextImpl.include(WebContextImpl.java:191) at info.magnolia.module.templating.paragraphs.JspParagraphRenderer.render(JspParagraphRenderer.java:73) at info.magnolia.cms.beans.config.ParagraphRenderingFacade.render(ParagraphRenderingFacade.java:112) at info.magnolia.cms.beans.config.ParagraphRenderingFacade.render(ParagraphRenderingFacade.java:91) at info.magnolia.cms.taglibs.Include.doEndTag(Include.java:192) at org.apache.jsp.templates.paragraphs.bloccoInfo_jsp._jspx_meth_cms_005fincludeTemplate_005f0(bloccoInfo_jsp.java:332) at org.apache.jsp.templates.paragraphs.bloccoInfo_jsp._jspx_meth_cms_005fcontentNodeIterator_005f0(bloccoInfo_jsp.java:289) at org.apache.jsp.templates.paragraphs.bloccoInfo_jsp._jspService(bloccoInfo_jsp.java:98) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488) at info.magnolia.context.WebContextImpl.include(WebContextImpl.java:191) at info.magnolia.module.templating.paragraphs.JspParagraphRenderer.render(JspParagraphRenderer.java:73) at info.magnolia.cms.beans.config.ParagraphRenderingFacade.render(ParagraphRenderingFacade.java:112) at info.magnolia.cms.beans.config.ParagraphRenderingFacade.render(ParagraphRenderingFacade.java:91) at info.magnolia.cms.taglibs.Include.doEndTag(Include.java:192) at org.apache.jsp.templates.pages.firstlevelgruppo_jsp._jspx_meth_cms_005fincludeTemplate_005f1(firstlevelgruppo_jsp.java:428) at org.apache.jsp.templates.pages.firstlevelgruppo_jsp._jspx_meth_cms_005fcontentNodeIterator_0
svn commit: r725747 - /tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java
Author: fhanik Date: Thu Dec 11 09:24:21 2008 New Revision: 725747 URL: http://svn.apache.org/viewvc?rev=725747&view=rev Log: implement a toString for the CometEventImpl Modified: tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java Modified: tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java?rev=725747&r1=725746&r2=725747&view=diff == --- tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java Thu Dec 11 09:24:21 2008 @@ -124,5 +124,16 @@ throw new UnsupportedOperationException(); } } + +public String toString() { +StringBuffer buf = new StringBuffer(); +buf.append(super.toString()); +buf.append("[EventType:"); +buf.append(eventType); +buf.append(", EventSubType:"); +buf.append(eventSubType); +buf.append("]"); +return buf.toString(); +} } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r725746 - /tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
Author: fhanik Date: Thu Dec 11 09:23:47 2008 New Revision: 725746 URL: http://svn.apache.org/viewvc?rev=725746&view=rev Log: clean up JMX reg Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=725746&r1=725745&r2=725746&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Thu Dec 11 09:23:47 2008 @@ -657,6 +657,7 @@ it.remove(); Http11NioProcessor result = entry.getValue(); result.recycle(); +deregister(result); released = true; break; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r725800 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: fhanik Date: Thu Dec 11 12:03:52 2008 New Revision: 725800 URL: http://svn.apache.org/viewvc?rev=725800&view=rev Log: proposal for fix Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=725800&r1=725799&r2=725800&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Thu Dec 11 12:03:52 2008 @@ -249,3 +249,9 @@ http://svn.apache.org/viewvc?rev=723738&view=rev +1: markt, fhanik -1: + +* Fix Comet interest registration bug + http://people.apache.org/~fhanik/tomcat/comet-ops.patch + +1: fhanik + -1: + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r725836 - in /tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor: AbstractCreateStatementInterceptor.java SlowQueryReport.java StatementFinalizer.java
Author: fhanik Date: Thu Dec 11 14:07:43 2008 New Revision: 725836 URL: http://svn.apache.org/viewvc?rev=725836&view=rev Log: Refactor slow query report so that it is extensible and one can override the methods Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractCreateStatementInterceptor.java tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/StatementFinalizer.java Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractCreateStatementInterceptor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractCreateStatementInterceptor.java?rev=725836&r1=725835&r2=725836&view=diff == --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractCreateStatementInterceptor.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractCreateStatementInterceptor.java Thu Dec 11 14:07:43 2008 @@ -47,8 +47,10 @@ boolean process = false; process = process(statements, method, process); if (process) { +long start = System.currentTimeMillis(); Object statement = super.invoke(proxy,method,args); -return createStatement(proxy,method,args,statement); +long delta = System.currentTimeMillis() - start; +return createStatement(proxy,method,args,statement, delta); } else { return super.invoke(proxy,method,args); } @@ -64,7 +66,7 @@ * @param statement * @return */ -public abstract Object createStatement(Object proxy, Method method, Object[] args, Object statement); +public abstract Object createStatement(Object proxy, Method method, Object[] args, Object statement, long time); public abstract void closeInvoked(); Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java?rev=725836&r1=725835&r2=725836&view=diff == --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java Thu Dec 11 14:07:43 2008 @@ -128,7 +128,7 @@ * Creates a statement interceptor to monitor query response times */ @Override -public Object createStatement(Object proxy, Method method, Object[] args, Object statement) { +public Object createStatement(Object proxy, Method method, Object[] args, Object statement, long time) { try { Object result = null; String name = method.getName(); @@ -141,10 +141,18 @@ //prepareStatement sql = (String)args[0]; constructor = getConstructor(1,PreparedStatement.class); +if (sql!=null) { +QueryStats qs = getQueryStats(sql); +qs.prepare(time, System.currentTimeMillis()); +} }else if (compare(statements[2],name)) { //prepareCall sql = (String)args[0]; constructor = getConstructor(2,CallableStatement.class); +if (sql!=null) { +QueryStats qs = getQueryStats(sql); +qs.prepare(time, System.currentTimeMillis()); +} }else { //do nothing, might be a future unsupported method //so we better bail out and let the system continue @@ -187,6 +195,66 @@ perPoolStats.remove(pool.getName()); super.poolClosed(pool); } + +protected void reportFailedQuery(String query, Object[] args, final String name, long start, Throwable t) { +//extract the query string +String sql = (query==null && args!=null && args.length>0)?(String)args[0]:query; +//if we do batch execution, then we name the query 'batch' +if (sql==null && compare(executes[3],name)) { +sql = "batch"; +} +//if we have a query, record the stats +if (sql!=null) { +QueryStats qs = getQueryStats(sql); +if (qs!=null) qs.failure(System.currentTimeMillis()-start,start); +} +} + +protected void reportSlowQuery(String query, Object[] args, final String name, long start, long delta) { +//extract the query string +String sql = (query==null && args!=n
svn commit: r725838 - in /tomcat/trunk/modules/jdbc-pool: java/org/apache/tomcat/jdbc/pool/ test/org/apache/tomcat/jdbc/test/
Author: fhanik Date: Thu Dec 11 14:17:02 2008 New Revision: 725838 URL: http://svn.apache.org/viewvc?rev=725838&view=rev Log: Implement startPool method to inform interceptors that pool is started Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TestSlowQueryReport.java Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=725838&r1=725837&r2=725838&view=diff == --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java Thu Dec 11 14:17:02 2008 @@ -307,7 +307,7 @@ * @param properties PoolProperties - properties used to initialize the pool with * @throws SQLException */ -protected void init (PoolProperties properties) throws SQLException { +protected void init(PoolProperties properties) throws SQLException { poolProperties = properties; //make space for 10 extra in case we flow over a bit busy = new ArrayBlockingQueue(properties.getMaxActive(),false); @@ -343,6 +343,16 @@ } +PoolProperties.InterceptorDefinition[] proxies = getPoolProperties().getJdbcInterceptorsAsArray(); +for (int i=0; ihttp://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java?rev=725838&r1=725837&r2=725838&view=diff == --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java Thu Dec 11 14:17:02 2008 @@ -43,6 +43,7 @@ protected static Log log = LogFactory.getLog(DataSourceProxy.class); protected volatile ConnectionPool pool = null; + public ConnectionPool getPool() { return pool; } @@ -173,7 +174,7 @@ if (p!=null) p.close(all); } }catch (Exception x) { -x.printStackTrace(); +log.warn("Error duing connection pool closure.", x); } } Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java?rev=725838&r1=725837&r2=725838&view=diff == --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/JdbcInterceptor.java Thu Dec 11 14:17:02 2008 @@ -100,4 +100,15 @@ */ public void poolClosed(ConnectionPool pool) { } + +/** + * This method is invoked by a connection pool when the pool is first started up, usually when the first connection is requested. + * Interceptor classes can override this method if they keep static + * variables or other tracking means around. + * This method is only invoked on a single instance of the interceptor, and not on every instance created. + * @param pool - the pool that is being closed. + */ +public void poolStarted(ConnectionPool pool) { +} + } Modified: tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TestSlowQueryReport.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TestSlowQueryReport.java?rev=725838&r1=725837&r2=725838&view=diff == --- tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TestSlowQueryReport.java (original) +++ tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TestSlowQueryReport.java Thu Dec 11 14:17:02 2008 @@ -15,7 +15,6 @@ public TestSlowQueryReport(String name) { super(name); } - public void testSlowSql() throws Exception { int count = 3; @@ -81,4 +80,36 @@ assertNull(SlowQueryReport.getPoolStats(pool.getName())); } +public void testFailedSql() throws Exception { +int count = 3; +this.init(); +this.datasource.setMaxActive(1); +this.datasource.setJdbcInterceptors(SlowQueryReport.class.getName()); +Connection con = this.datasource.getConnection(); +String slowSql = "select 1 from non_existe
svn commit: r725843 - /tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
Author: fhanik Date: Thu Dec 11 14:19:54 2008 New Revision: 725843 URL: http://svn.apache.org/viewvc?rev=725843&view=rev Log: move initialization to poolStarted Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java?rev=725843&r1=725842&r2=725843&view=diff == --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java Thu Dec 11 14:19:54 2008 @@ -169,9 +169,11 @@ /** * {...@inheritdoc} */ -public void reset(ConnectionPool parent, PooledConnection con) { +@Override +public void poolStarted(ConnectionPool pool) { +super.poolStarted(pool); //see if we already created a map for this pool -queries = SlowQueryReport.perPoolStats.get(parent.getName()); +queries = SlowQueryReport.perPoolStats.get(pool.getName()); if (queries==null) { //create the map to hold our stats //however TODO we need to improve the eviction @@ -179,14 +181,13 @@ queries = new ConcurrentHashMap() { }; -if (perPoolStats.putIfAbsent(parent.getName(), queries)!=null) { +if (perPoolStats.putIfAbsent(pool.getName(), queries)!=null) { //there already was one -queries = SlowQueryReport.perPoolStats.get(parent.getName()); +queries = SlowQueryReport.perPoolStats.get(pool.getName()); } } } - /** * {...@inheritdoc} */ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r725847 - /tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
Author: fhanik Date: Thu Dec 11 14:32:18 2008 New Revision: 725847 URL: http://svn.apache.org/viewvc?rev=725847&view=rev Log: Fix last bug, time for JMX integration Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java?rev=725847&r1=725846&r2=725847&view=diff == --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java Thu Dec 11 14:32:18 2008 @@ -256,6 +256,17 @@ } } + + + +@Override +public void reset(ConnectionPool parent, PooledConnection con) { +super.reset(parent, con); +queries = SlowQueryReport.perPoolStats.get(parent.getName()); +} + + + /** * - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r725879 - in /tomcat/trunk/modules/jdbc-pool: ./ java/org/apache/tomcat/jdbc/pool/ java/org/apache/tomcat/jdbc/pool/interceptor/ test/org/apache/tomcat/jdbc/test/
Author: fhanik Date: Thu Dec 11 17:26:39 2008 New Revision: 725879 URL: http://svn.apache.org/viewvc?rev=725879&view=rev Log: Implement JMX notification of query times and query failures Added: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReportJmx.java (with props) tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/mbeans-descriptors.xml (with props) Modified: tomcat/trunk/modules/jdbc-pool/build.xml tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TestSlowQueryReport.java Modified: tomcat/trunk/modules/jdbc-pool/build.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/build.xml?rev=725879&r1=725878&r2=725879&view=diff == --- tomcat/trunk/modules/jdbc-pool/build.xml (original) +++ tomcat/trunk/modules/jdbc-pool/build.xml Thu Dec 11 17:26:39 2008 @@ -102,6 +102,9 @@ + + + Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=725879&r1=725878&r2=725879&view=diff == --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java Thu Dec 11 17:26:39 2008 @@ -350,7 +350,9 @@ }catch (Exception x) { log.warn("Unable to inform interceptor of pool start.",x); close(true); -throw new SQLException(x); +SQLException ex = new SQLException(); +ex.initCause(x); +throw ex; } } //initialize the pool with its initial set of members @@ -477,7 +479,7 @@ } //while } -protected PooledConnection createConnection(long now, PooledConnection con) { +protected PooledConnection createConnection(long now, PooledConnection con) throws SQLException { //no connections where available we'll create one boolean error = false; try { @@ -502,7 +504,15 @@ } //end if } catch (Exception e) { error = true; -log.error("Unable to create a new JDBC connection.", e); +if (log.isDebugEnabled()) +log.debug("Unable to create a new JDBC connection.", e); +if (e instanceof SQLException) { +throw (SQLException)e; +} else { +SQLException ex = new SQLException(e.getMessage()); +ex.initCause(e); +throw ex; +} } finally { if (error ) { release(con); Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=725879&r1=725878&r2=725879&view=diff == --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Thu Dec 11 17:26:39 2008 @@ -54,7 +54,7 @@ protected int removeAbandonedTimeout = 60; protected boolean logAbandoned = false; protected int loginTimeout = 1; -protected String name = "Tomcat Connection Pool["+(poolCounter.addAndGet(1))+":"+System.identityHashCode(PoolProperties.class)+"]"; +protected String name = "Tomcat Connection Pool["+(poolCounter.addAndGet(1))+"-"+System.identityHashCode(PoolProperties.class)+"]"; protected String password; protected String username; protected long validationInterval = 3; Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java?rev=725879&r1=725878&r2=725879&view=diff == --- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java (original) +++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java Thu Dec 11 17:26:39 2