I get this exception:
java.lang.ClassCastException: org.apache.tomcat.jdbc.pool.DataSource cannot be cast to javax.sql.ConnectionPoolDataSource
When I try to run my webapp (in Tomcat6) that uses the tomcat jdbc pool, which works easily with Tomcat7
I included these banks already in the tomcat 6 lib folder:
tomcat-jdbc.jar tomcat-juli.jar
What could be the problem?
Update:
protected static Connection getConnection() throws NamingException, SQLException { InitialContext cxt = new InitialContext(); String jndiName = "java:/comp/env/jdbc/MyDBHrd"; ConnectionPoolDataSource dataSource = (ConnectionPoolDataSource) cxt.lookup(jndiName);
Configuration:
<Resource name="jdbc/MyDBHrd" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" testWhileIdle="true" testOnBorrow="true" testOnReturn="false" validationQuery="SELECT 1" validationInterval="30000" timeBetweenEvictionRunsMillis="30000" maxActive="5000" minIdle="10" maxWait="10000" initialSize="20" removeAbandonedTimeout="120" removeAbandoned="true" logAbandoned="false" minEvictableIdleTimeMillis="30000" jmxEnabled="true" jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState; org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer" username="sa" password="password" driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://192.168.114.130/MyDB"/>
When I change the "type":
type="javax.sql.ConnectionPoolDataSource"
I get this warning:
WARNING: javax.sql.ConnectionPoolDataSource is not a valid class name/type for this JNDI factory.
Call getConnection() to return NULL.
Import
import java.io.IOException; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.sql.ConnectionPoolDataSource; import javax.sql.PooledConnection; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory;
source share