You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Nathan Rogers <nr...@library.wisc.edu> on 2003/08/08 16:13:17 UTC

[DBCP] PoolingConnection

I am trying to use the PoolingConnection class to build a pool of 
PreparedStatements.  My code will compile fine, but inevitably upon 
trying to utilize the pool, I get a null pointer exception.  I could not 
find any examples of how to initialize the pool properly.  Can someone 
show me where my code might be going wrong, or at the least, a better 
approach to pooling PreparedStatements?

Code
(the statementPool object is declared at the top of the class)
====
// Create the pool that will hold the PreparedStatements
StackKeyedObjectPoolFactory factory = new StackKeyedObjectPoolFactory();
KeyedObjectPool keyedObjectPool = factory.createPool();
statementPool = new PoolingConnection(conn, keyedObjectPool);

Exception
=====
java.util.NoSuchElementException
	at 
org.apache.commons.pool.impl.StackKeyedObjectPool.borrowObject(Unknown 
Source)
	at 
org.apache.commons.dbcp.PoolingConnection.prepareStatement(PoolingConnection.java:128)
	at 
edu.wisc.library.ltg.exceptionManager.model.OracleImpl.isValidUser(OracleImpl.java:88)
	at 
edu.wisc.library.ltg.exceptionManager.model.ExceptionsModel.isValidUser(ExceptionsModel.java:85)
	at 
edu.wisc.library.ltg.exceptionManager.view.LoginAction.execute(LoginAction.java:45)
	at 
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
	at 
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
	at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
	at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
	at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
	at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
	at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
	at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at 
org.apache.catalina.connector.warp.WarpRequestHandler.handle(WarpRequestHandler.java:217)
	at 
org.apache.catalina.connector.warp.WarpConnection.run(WarpConnection.java:194)
	at java.lang.Thread.run(Thread.java:484)