Wrox Home  
Search P2P Archive for: Go

  Return to Index  

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)

  Return to Index