Frequently Asked Questions
... SourceForge.net Logo
 
 
 
 
Latest
The latest version of Proxool is 0.9.1
Donations
You can donate to Proxool in the usual way:
sourceforge.net
 

If you don't find an answer to your question here then take a look in the mailing list archive. If you still can't find an answer then post a message to the user list.

  1. What makes Proxool so different from all the other database pools out there.
  2. When I run Ant I get an error: "The <checkstyle> task doesn't support the nested "property" element."
  3. Why is all the logging done to stdout?
  4. I am using the Xyz JDBC Driver and I'm asking the Connection for a Statement and then trying to cast it into XyzStatement, but I get a ClassCastException.
  5. I'm running Intellij IDEA and I get an error when I try to build the javadoc using Ant.
  6. When I run the tests I get an SQLException: "The database is already in use by another process".
  7. I wish the logs had more/less information in them
  8. I want to know exactly how fast my pool is performing. How can I find out?
  9. If I switch on statistics what effect will that have on performance?
  10. When I try and run the Ant test target I get an error saying something like "Could not create task or type of type: junit". What's wrong?
  11. The housekeeping thread and the statistics logging seem to be running multiple times.
  12. The Proxool log keeps saying that Proxool is shutting down, and all my carefully configured pools are no longer configured.
  13. When I run the "produce-test-report" Ant target I get an error saying it could not find Xalan. Why do I need Xalan?
  14. I'm running JDK1.2 and it seems that Proxool doesn't close all the connections properly when the application stops.
  15. I'm using JMX and Proxool doesn't appear as a component.
  16. I have registered a pool but when I use it, it creates a new connection every time.

Q. What makes Proxool so different from all the other database pools out there.
A. Proxool makes it very easy to add pooling to your existing driver. It is very easy to configure and also gives some useful features like tracing of database calls, performance reporting and real time statistical reporting. It adheres closely to standards (full J2EE compliance is coming soon).
Q. When I run Ant I get an error: "The <checkstyle> task doesn't support the nested "property" element."
A. Checkstyle changed the way it is configured between versions 2.2 and 2.4. You need to use 2.4 or later (not sure about 2.3). Proxool includes checkstyle in the lib directory but if you have an older version of checkstyle somewhere on your classpath (for instance, in Ant's own lib directory) then you might have problems. Suggested work around: get rid of the old version of checkstyle (if that doesn't break anything else); edit the build.xml so it works with the old format.
Q. Why is all the logging done to stdout?
A.. This is the default behaviour for the logging system. We use Jakarta's Commons' Logging component. If you want it to do anything other than log to stdout then you need to configure it.
Q. I am using the Xyz JDBC Driver and I'm asking the Connection for a Statement and then trying to cast it into XyzStatement, but I get a ClassCastException.
A. When Proxool supplies you with a Statement it gives you a proxy Statement that delegates to the one provided by your Xyz driver. Using Cglib it attempts to implement any interfaces that the Xyz driver implements. However, if you are trying to cast it into a class instead of an interface then you're going to have to make an additional step. That step is called injectable interfaces.
Q. I'm running Intellij IDEA and I get an error when I try to build the javadoc using Ant.
A. Intellij started shipping there own JRE just before they released version 3.0. This JRE includes javac but not javadoc. The solution is to copy javadoc from a full JDK (preferably a similar version to the one shipped with IDEA) into the JRE's bin directory.
Q. When I run the tests I get an SQLException: "The database is already in use by another process".
A. This is a message from Hypersonic, the Java database we use for testing. It could either mean you are running two instances of the test or that you don't have permission to create the database on the file system (Hypersonic will try and save files to the Proxool directory).
Q. I wish the logs had more/less information in them
A. You need to configure logging. You can change the level from DEBUG, INFO, WARN, ERROR and FATAL and have different levels for different pools.
Q. I want to know exactly how fast my pool is performing. How can I find out?
A. You could try logging statistics. This measures how quickly connections are served and returned. This encompasses the time it takes Proxool to process the connection, the database execution and any processing done in your application until the connection is closed (for instance, looping through a ResultSet). Have a look at the statistics and statistics-log-level properties. If you are running Proxool in a Servlet environment then you could make use of the AdminServlet to view the statistics.
Q. If I switch on statistics what effect will that have on performance?
A. A lot of effort has been taken to ensure minimal overhead when taking statistics - it is assumed that they might be used in a production environment. On a P4 1.5GHz PC it takes less than 15 microseconds (0.0000015 seconds) to catch the statistics.
Q. When I try and run the Ant test target I get an error saying something like "Could not create task or type of type: junit". What's wrong?
A. Ant needs to find the junit.jar library on your classpath. Junit.jar is distributed with the source distribution (which you will need to run tests anyway). Either copy junit.jar to your Ant's lib directory (within ANT_HOME) or add it to your classpath manually.
Q. The housekeeping thread and the statistics logging seem to be running multiple times.
A. This is because Proxool is not being shutdown properly. If the JVM stops then Proxool recognises that and shuts down gracefully, but if you redeploy Proxool into some environments (for example, a servlet container) then Proxool needs to be explicitly told so by calling ProxoolFacade.shutdown(). If you have a servlet container then you could put it in the servlet's destroy() method. Alternatively, use the ServletConfigurator to both configure and shutdown Proxool.
Q. The Proxool log keeps saying that Proxool is shutting down, and all my carefully configured pools are no longer configured.
A. This is a bug that occurs in Proxool when running it with JDK 1.4.2 sometimes. You need to upgrade to Proxool 0.8.0 or later.
Q. When I run the "produce-test-report" Ant target I get an error saying it could not find Xalan. Why do I need Xalan?
A. The Junit Ant task uses Xalan to transform the test results (which are in XML) into and HTML report. You need to get Xalan from http://xml.apache.org/xalan-j and add it to your classpath. (Note - Xalan is not a requirement for using Proxool. It's only used for testing it).
Q. I'm running JDK1.2 and it seems that Proxool doesn't close all the connections properly when the application stops.
A. Proxool will automatically shutdown in JDK1.3 and later because it makes use of ShutdownHooks. These are not available in JDK1.2 and you have to explicitly shutdown using ProxoolFacade.shutdown().
Q. I'm using JMX and Proxool doesn't appear as a component.
A. You have to set the jmx property to 'true'.
A. Proxool will automatically shutdown in JDK1.3 and later because it makes use of ShutdownHooks. These are not available in JDK1.2 and you have to explicitly shutdown using ProxoolFacade.shutdown().
Q. I have registered a pool but when I use it, it creates a new connection every time.
A. Maybe you're not actually using the pool? If you register a pool with the alias "xyz" then when you use that pool you should use the URL "proxool.xyz". If you use the URL for the delegate driver then you will bypass Proxool completely. The log (at debug level) or the AdminServlet will soon tell you what's happening.