|
 |
pro_jsp thread: PoolMan 2.0
Message #1 by "Chris" <cschroe2@y...> on Wed, 23 May 2001 04:51:08
|
|
Does anyone know how to fix the problem outlined below? I looked through
the archives and found people had problems with Tomcat and PoolMan in
version 1 but I thought they were fixed for version 2?
Christian-
****************************************
I am running RedHat 7, Apache, Tomcat, MySQL, and JDBC (mm driver).
Here are the steps I took to install PoolMan:
(1) Used gunzip and tar to unpack the files to /usr/local/poolman.
(2) Added poolman.jar to the CLASSPATH with this command:
CLASSPATH=$CLASSPATH:/usr/local/poolman/lib/poolman.jar; export
CLASSPATH
(3) Added all the third party jar files with this type of command:
CLASSPATH=$CLASSPATH:/usr/local/poolman/lib/jta.jar; export
CLASSPATH
(4) Added poolman.xml to the CLASSPATH with this command:
CLASSPATH=$CLASSPATH:/usr/local/poolman/lib; export CLASSPATH
(5) Configured poolman.xml and put it in /usr/local/poolman/lib. Here's
the file:
****************************************
<?xml version="1.0" encoding="UTF-8"?>
<poolman>
<!-- ========================================================== -->
<!-- These entries are for the JDBC Connection pooling. -->
<!-- ========================================================== -->
<datasource>
<!-- ============================== -->
<!-- Physical Connection Attributes -->
<!-- ============================== -->
<!-- Standard JDBC Driver info -->
<dbname>testdb</dbname>
<jndiName>jndi-testdb</jndiName>
<driver>org.gjt.mm.mysql.Driver</driver>
<url>jdbc:mysql://localhost/testdb</url>
<username>testdb</username>
<password>testdb</password>
<!-- =========================== -->
<!-- Pooling Behavior Attributes -->
<!-- =========================== -->
<minimumSize>0</minimumSize>
<maximumSize>10</maximumSize>
<connectionTimeout>600</connectionTimeout>
<userTimeout>10</userTimeout>
<shrinkBy>10</shrinkBy>
<logFile>/home/chris/poolman/log.txt</logFile>
<debugging>true</debugging>
<!-- Query Cache Attributes-->
<cacheEnabled>true</cacheEnabled>
<cacheSize>10</cacheSize>
<cacheRefreshInterval>120</cacheRefreshInterval>
</datasource>
</poolman>
****************************************
(6) Switched to /usr/local/poolman/samples and ran this command:
java PoolManSample "SELECT * FROM user" "testdb"
where user is a table in the testdb database.
I received this error:
****************************************
root# java PoolManSample "SELECT * FROM user" "testdb"
Starting...
Started
Executing sample of SQLUtil executing SQL from the specified database:
Exception in thread "main" java.lang.NoClassDefFoundError:
javax/sql/ConnectionEventListener
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
at java.net.URLClassLoader.defineClass(URIClassLoader.java:248)
at java.net.URLClassLoader.access$100(URIClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:286)
at com.codestudio.util.SQLUtil.getSQLManager(SQLUtil.java:178)
at com.codestudio.util.SQLUtil.executeSql(SQLUtil.java:215)
at com.codestudio.util.SQLUtil.execute(SQLUtil.java:153)
at PoolManSample.doSQL(PoolManSample.java:55)
at PoolManSample.main(PoolManSample.java:329)
root#
***************************************
I tried a bunch of stuff like putting the poolman.jar in the
/usr/local/jdk/jre/lib/ext directory, etc... No help there. I also
tried
to create a little JSP and PoolMan through Tomcat. Here's what happened
when I did that:
(1) Modified tomcat.sh with this line:
CLASSPATH=${CLASSPATH}:~usr/local/poolman/lib/PoolMan.jar:~usr/local/poolman/lib
(2) Ran this JSP called dbquery.jsp:
**************************************
<html>
<head>
<titl>MyCo Directory</title>
</head>
<%@ page language="java" import="java.sql.*,com.codestudio.util.*" %>
<body>
<h1>Test User Database</h1>
<table border="1" width="400">
<tr>
<td><b>ID</b></td>
<td><b>First Name</b></td>
<td><b>Last Name</b></td>
</tr>
<%
SQLManager myMan = SQLManager.getInstance();
Connection myConn = myMan.requestConnection();
Statement stmt = myConn.createStatement();
ResultSet myResultSet = stmt.executeQuery("select * from
user");
if(myResultSet != null)
{
while (myResultSet.next()) {
String uid = myResultSet.getString("userid");
String first = myResultSet.getString("firstname");
String last = myResultSet.getString("lastname");
%>
<tr>
<td><%= uid %></td>
<td><%= first %></td>
<td><%= last %></td>
</tr>
<%
}
}
stmt.close();
myMan.returnConnection(myConn);
%>
</table>
</body>
</html>
***************************************
I got this error which seems very similar to the other one:
***************************************
Error: 500
Location: /testdb/dbquery.jsp
Internal Servlet Error:
org.apache.jasper.JasperException: Unable to compile class for
JSP/usr/local/tomcat/webapps/testdb/WEB-INF/classes/com/codestudio/util/SQLManager.java:23:
Package
javax.management not found in import.
import javax.management.*;
^
/usr/local/tomcat/webapps/testdb/WEB-INF/classes/com/codestudio/util/SQLManager.java:24:
Class
javax.sql.DataSource not found in import.
import javax.sql.DataSource;
^
/usr/local/tomcat/webapps/testdb/WEB-INF/classes/com/codestudio/sql/PoolManDataSource.java:22:
Package
javax.sql not found in import.
import javax.sql.*;
^
/usr/local/tomcat/webapps/testdb/WEB-INF/classes/com/codestudio/sql/PoolManDataSource.java:30:
Interface
com.codestudio.sql.ConnectionPoolDataSource of class
com.codestudio.sql.PoolManDataSource not found.
public class PoolManDataSource extends Reference
^
/usr/local/tomcat/webapps/testdb/WEB-INF/classes/com/codestudio/sql/PoolManDataSource.java:30:
Interface
com.codestudio.sql.XADataSource of class
com.codestudio.sql.PoolManDataSource not found.
public class PoolManDataSource extends Reference
^
/usr/local/tomcat/webapps/testdb/WEB-INF/classes/com/codestudio/sql/PoolManDataSource.java:31:
Interface
javax.sql.DataSource of class com.codestudio.sql.PoolManDataSource not
found.
implements DataSource, ConnectionPoolDataSource, XADataSource {
^
/usr/local/tomcat/webapps/testdb/WEB-INF/classes/com/codestudio/management/PoolManBootstrap.java:25:
Package
javax.management not found in import.
import javax.management.*;
^
/usr/local/tomcat/webapps/testdb/WEB-INF/classes/com/codestudio/management/PoolManBootstrap.java:26:
Package
javax.management.loading not found in import.
import javax.management.loading.*;
^
8 errors
at
org.apache.jasper.compiler.Compiler.compile(Compiler.java:254)
at
org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:462)
at
org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:146)
at
org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:433)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:152)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:164)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
at org.apache.tomcat.core.Handler.service(Handler.java:286)
at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:484)
|
|
 |