Re: tomcat datasource, find active connections
2010/7/14 Caldarale, Charles R chuck.caldar...@unisys.com: From: Christopher Schultz [mailto:ch...@christopherschultz.net] Subject: Re: tomcat datasource, find active connections As much fun as that sounds, the OP could just use the default DataSourceFactory which is based upon DBCP. Does that require setting the Context privileged attribute to true in 5.5? (Looks like it shouldn't make a difference in 6.0 and 7.0.) naming-factory-dbcp.jar is in common/lib/ in TC 5.5, so setting privileged=true is not needed, I think. privileged is used to get access to jars that are in server/lib Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: tomcat datasource, find active connections
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Chuck, On 7/12/2010 10:38 AM, Caldarale, Charles R wrote: From: Ashish Kulkarni [mailto:ashish.kulkarn...@gmail.com] Sent: 2010 July 12, Monday 09:16 To: Tomcat Users List; p...@pidster.com Subject: Re: tomcat datasource, find active connections Where do i specify data source factory? http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html#Adding_Custom_Resource_Factories As much fun as that sounds, the OP could just use the default DataSourceFactory which is based upon DBCP. We use the following in a health check JSP we have. import org.apache.tomcat.dbcp.dbcp.BasicDataSource; Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup(java:/comp/env/jdbc/mydb); if(null == ds) throw new NamingException(Cannot obtain DataSource); int maxActiveConnections = 0; int maxIdleConnections = 0; int minIdleConnections = 0; int activeConnections = 0; int idleConnections = 0; if(ds instanceof BasicDataSource) { BasicDataSource bds = (BasicDataSource)ds; maxActiveConnections = bds.getMaxActive(); maxIdleConnections = bds.getMaxIdle(); minIdleConnections = bds.getMinIdle(); activeConnections = bds.getNumActive(); idleConnections = bds.getNumIdle(); } Feel free to add more types of DataSource to fetch their counters. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkw9MvkACgkQ9CaO5/Lv0PAoUwCffLW2kYhnQY/1uYP+NcrQDvjy GIgAnRa/VgcfHBm114eW5LgxlJBTmv7I =QwO9 -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: tomcat datasource, find active connections
From: Christopher Schultz [mailto:ch...@christopherschultz.net] Subject: Re: tomcat datasource, find active connections As much fun as that sounds, the OP could just use the default DataSourceFactory which is based upon DBCP. Does that require setting the Context privileged attribute to true in 5.5? (Looks like it shouldn't make a difference in 6.0 and 7.0.) - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers.
Re: tomcat datasource, find active connections
Hi Where do i specify data source factory? i have following setup Resource name=jdbc/mydev auth=Container type=javax.sql.DataSource maxActive=2 maxIdle=2 maxWait=3000 username=user password=password driverClassName=com.ibm.as400.access.AS400JDBCDriver url=jdbc:as400://myip;date format=iso;time format=iso;errors=basic;trace=false; validationQuery=select * from myschema.mytable / On Fri, Jul 9, 2010 at 5:42 PM, Pid p...@pidster.com wrote: On 09/07/2010 20:03, Ashish Kulkarni wrote: Hi I have following in context.xml, and it works fine. But i would like to find how many active connections are there in data source or how many total connections are there? 1 is it possible to do so? 2 Can i change type javax.sql.DataSource to com.ibm.as400.access.AS400JDBCDataSource, as this has methods to find active connections etc? Nope. If you use an appropriate DataSourceFactory that creates a AS400JDBCDataSource then you can cast the DataSource that results from the calls to JNDI to the one you want. Or you can use JMX to examine the running Tomcat. p Resource name=jdbc/mydev auth=Container type=javax.sql.DataSource maxActive=2 maxIdle=2 maxWait=3000 username=user password=pass driverClassName=com.ibm.as400.access.AS400JDBCDriver url=jdbc:as400://1mysystem;date format=iso;time format=iso;errors=basic;trace=false; validationQuery=select * from mytable / -- Ashish www.ayurwellness.com www.mysoftwareneeds.com
RE: tomcat datasource, find active connections
From: Ashish Kulkarni [mailto:ashish.kulkarn...@gmail.com] Sent: 2010 July 12, Monday 09:16 To: Tomcat Users List; p...@pidster.com Subject: Re: tomcat datasource, find active connections Where do i specify data source factory? http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html#Adding_Custom_Resource_Factories - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: tomcat datasource, find active connections
On 12/07/2010 15:15, Ashish Kulkarni wrote: Hi Where do i specify data source factory? i have following setup Resource name=jdbc/mydev auth=Container type=javax.sql.DataSource maxActive=2 maxIdle=2 maxWait=3000 username=user password=password driverClassName=com.ibm.as400.access.AS400JDBCDriver url=jdbc:as400://myip;date format=iso;time format=iso;errors=basic;trace=false; validationQuery=select * from myschema.mytable / Is that the most lightweight validation query you can use? You need to add the 'factory=...' element. It's default value is: 'org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory' N.B. the double dbcp.dbcp is intentional. There's more documentation about configuring a DataSource here: http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html#Database_Connection_Pool_(DBCP)_Configurations http://wiki.apache.org/commons/DBCP You will need to determine whether there is a suitable DataSource factory class, in the com.ibm.as400.access package, or write your own wrapper. A quick Google search indicates someone else has done this (AS400JDBCDataSourceFactory) p On Fri, Jul 9, 2010 at 5:42 PM, Pid p...@pidster.com mailto:p...@pidster.com wrote: On 09/07/2010 20:03, Ashish Kulkarni wrote: Hi I have following in context.xml, and it works fine. But i would like to find how many active connections are there in data source or how many total connections are there? 1 is it possible to do so? 2 Can i change type javax.sql.DataSource to com.ibm.as400.access.AS400JDBCDataSource, as this has methods to find active connections etc? Nope. If you use an appropriate DataSourceFactory that creates a AS400JDBCDataSource then you can cast the DataSource that results from the calls to JNDI to the one you want. Or you can use JMX to examine the running Tomcat. p Resource name=jdbc/mydev auth=Container type=javax.sql.DataSource maxActive=2 maxIdle=2 maxWait=3000 username=user password=pass driverClassName=com.ibm.as400.access.AS400JDBCDriver url=jdbc:as400://1mysystem;date format=iso;time format=iso;errors=basic;trace=false; validationQuery=select * from mytable / -- Ashish www.ayurwellness.com http://www.ayurwellness.com www.mysoftwareneeds.com http://www.mysoftwareneeds.com signature.asc Description: OpenPGP digital signature
Re: tomcat datasource, find active connections
On 7/12/2010 10:50 AM, Pid wrote: On 12/07/2010 15:15, Ashish Kulkarni wrote: Hi Where do i specify data source factory? i have following setup Resource name=jdbc/mydev auth=Container type=javax.sql.DataSource maxActive=2 maxIdle=2 maxWait=3000 username=user password=password driverClassName=com.ibm.as400.access.AS400JDBCDriver url=jdbc:as400://myip;date format=iso;time format=iso;errors=basic;trace=false; validationQuery=select * from myschema.mytable / Is that the most lightweight validation query you can use? Yeah, you might add a WHERE true = false to it, so you don't make the db actually do any work. D - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: tomcat datasource, find active connections
Perhapsselect 1is the simplest lightest weight. On Jul 12, 2010, at 11:04 AM, David kerber wrote: On 7/12/2010 10:50 AM, Pid wrote: On 12/07/2010 15:15, Ashish Kulkarni wrote: Hi Where do i specify data source factory? i have following setup Resource name=jdbc/mydev auth=Container type=javax.sql.DataSource maxActive=2 maxIdle=2 maxWait=3000 username=user password=password driverClassName=com.ibm.as400.access.AS400JDBCDriver url=jdbc:as400://myip;date format=iso;time format=iso;errors=basic;trace=false; validationQuery=select * from myschema.mytable / Is that the most lightweight validation query you can use? Yeah, you might add a WHERE true = false to it, so you don't make the db actually do any work. D - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: tomcat datasource, find active connections
On 7/12/2010 11:23 AM, Ken Bowen wrote: Perhaps select 1 is the simplest lightest weight. If the db will accept it (without a FROM clause), yes. D - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: tomcat datasource, find active connections
On 09/07/2010 20:03, Ashish Kulkarni wrote: Hi I have following in context.xml, and it works fine. But i would like to find how many active connections are there in data source or how many total connections are there? 1 is it possible to do so? 2 Can i change type javax.sql.DataSource to com.ibm.as400.access.AS400JDBCDataSource, as this has methods to find active connections etc? Nope. If you use an appropriate DataSourceFactory that creates a AS400JDBCDataSource then you can cast the DataSource that results from the calls to JNDI to the one you want. Or you can use JMX to examine the running Tomcat. p Resource name=jdbc/mydev auth=Container type=javax.sql.DataSource maxActive=2 maxIdle=2 maxWait=3000 username=user password=pass driverClassName=com.ibm.as400.access.AS400JDBCDriver url=jdbc:as400://1mysystem;date format=iso;time format=iso;errors=basic;trace=false; validationQuery=select * from mytable / signature.asc Description: OpenPGP digital signature