Fixed at last! And of course it's and annoying fix. I've been using these Informix JDBC 2.0 drivers for some months without problem. As a last resort I downloaded the very latest version from the IBM site and... The rest is now history :)
Many thanks to ALL your help. Very much appreciated. >-----Original Message----- >From: D'Alessandro, Arthur [mailto:[EMAIL PROTECTED] >Sent: 17 March 2004 19:37 >To: [EMAIL PROTECTED]; Tomcat Users List; Parsons Technical Services >Subject: RE: Problem using JNDI/DBCP to get DataSouce > > > For future, recommend snipping any real host/username/passwords for >security reasons. > >I am not familiar with Informix, however, given a logged in session by >the user you specify, are you able to execute the query, and >return 1 or >more records? > >I recommend creating dummy table just for validation with 1 record, 1 >field to minimize the overhead. A validation query is performed before >each connection object is handed out. > >-----Original Message----- >From: Paul Mahoney [mailto:[EMAIL PROTECTED] >Sent: Wednesday, March 17, 2004 2:19 PM >To: D'Alessandro, Arthur; 'Tomcat Users List'; 'Parsons Technical >Services' >Subject: RE: Problem using JNDI/DBCP to get DataSouce > >To get this far I had to more the datasource resource defiition to the >context. I've rasie the debug to 9 but could see no additional loging >that >would help. Here is the context ... > ><Context className="org.apache.catalina.core.StandardContext" >cachingAllowed="true" >charsetMapperClass="org.apache.catalina.util.CharsetMapper" >cookies="true" >crossContext="false" debug="9" displayName="Custom Fares" >docBase="C:/Documents and Settings/pmahoney/My Documents/Travel >2/code/webapps/CustomFares/web" >mapperClass="org.apache.catalina.core.StandardContextMapper" >path="/CustomFares" privileged="false" reloadable="false" >swallowOutput="false" useNaming="true" >wrapperClass="org.apache.catalina.core.StandardWrapper"> > <Resource name="jdbc/OscarsDB" scope="Shareable" >type="javax.sql.DataSource"/> > <ResourceParams name="jdbc/OscarsDB"> > <parameter> > <name>validationQuery</name> > <value>select count(*) from systables</value> > </parameter> > <parameter> > <name>url</name> > ><value>jdbc:informix-sqli://oscar1.travel2.com:1420/oscars:INFO >RMIXSERVE >R=os >cars_dbsrv</value> > </parameter> > <parameter> > <name>password</name> > <value>1atan1a</value> > </parameter> > <parameter> > <name>maxActive</name> > <value>4</value> > </parameter> > <parameter> > <name>maxWait</name> > <value>5000</value> > </parameter> > <parameter> > <name>driverClassName</name> > <value>com.informix.jdbc.IfxDriver</value> > </parameter> > <parameter> > <name>username</name> > <value>sy5t3m</value> > </parameter> > <parameter> > <name>maxIdle</name> > <value>2</value> > </parameter> > </ResourceParams> > </Context> > >The stacktrace is... > >org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, >pool >exhausted, cause: >java.util.NoSuchElementException: Could not create a validated object > at >org.apache.commons.pool.impl.GenericObjectPool.borrowObject(Gen >ericObjec >tPoo >l.java:851) > at >org.apache.commons.dbcp.PoolingDataSource.getConnection(Pooling >DataSourc >e.ja >va:140) > at >org.apache.commons.dbcp.BasicDataSource.getConnection(BasicData >Source.ja >va:5 >18) > at >com.travel2.customFares.Query.getJdbcConnection(Query.java:95) > at com.travel2.customFares.Query.execute(Query.java:160) > at >com.travel2.customFares.CustomFaresService.GetFares(CustomFares >Service.j >ava: >58) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at >sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccesso >rImpl.jav >a:39 >) > at >sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMetho >dAccessor >Impl >.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at >org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProv >ider.java >:402 >) > at >org.apache.axis.providers.java.RPCProvider.processMessage(RPCPr >ovider.ja >va:3 >09) > at >org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider >.java:333 >) > at >org.apache.axis.strategies.InvocationStrategy.visit(InvocationS >trategy.j >ava: >71) > at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150) > at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120) > at >org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481) > at >org.apache.axis.server.AxisServer.invoke(AxisServer.java:323) > at >org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at >org.apache.axis.transport.http.AxisServletBase.service(AxisServ >letBase.j >ava: >339) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at >org.apache.catalina.core.ApplicationFilterChain.internalDoFilte >r(Applica >tion >FilterChain.java:247) > at >org.apache.catalina.core.ApplicationFilterChain.doFilter(Applic >ationFilt >erCh >ain.java:193) > at >org.apache.catalina.core.StandardWrapperValve.invoke(StandardWr >apperValv >e.ja >va:256) > at >org.apache.catalina.core.StandardPipeline$StandardPipelineValve >Context.i >nvok >eNext(StandardPipeline.java:643) > at >org.apache.catalina.core.StandardPipeline.invoke(StandardPipeli >ne.java:4 >80) > at >org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at >org.apache.catalina.core.StandardContextValve.invoke(StandardCo >ntextValv >e.ja >va:191) > at >org.apache.catalina.core.StandardPipeline$StandardPipelineValve >Context.i >nvok >eNext(StandardPipeline.java:643) > at >org.apache.catalina.core.StandardPipeline.invoke(StandardPipeli >ne.java:4 >80) > at >org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at >org.apache.catalina.core.StandardContext.invoke(StandardContext >.java:242 >2) > at >org.apache.catalina.core.StandardHostValve.invoke(StandardHostV >alve.java >:180 >) > at >org.apache.catalina.core.StandardPipeline$StandardPipelineValve >Context.i >nvok >eNext(StandardPipeline.java:643) > at >org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDis >patcherVa >lve. >java:171) > at >org.apache.catalina.core.StandardPipeline$StandardPipelineValve >Context.i >nvok >eNext(StandardPipeline.java:641) > at >org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportV >alve.java >:163 >) > at >org.apache.catalina.core.StandardPipeline$StandardPipelineValve >Context.i >nvok >eNext(StandardPipeline.java:641) > at >org.apache.catalina.core.StandardPipeline.invoke(StandardPipeli >ne.java:4 >80) > at >org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at >org.apache.catalina.core.StandardEngineValve.invoke(StandardEng >ineValve. >java >:174) > at >org.apache.catalina.core.StandardPipeline$StandardPipelineValve >Context.i >nvok >eNext(StandardPipeline.java:643) > at >org.apache.catalina.core.StandardPipeline.invoke(StandardPipeli >ne.java:4 >80) > at >org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at >org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199) > at >org.apache.coyote.http11.Http11Processor.process(Http11Processo >r.java:82 >8) > at >org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler >.processC >onne >ction(Http11Protocol.java:700) > at >org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoin >t.java:58 >4) > at >org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(T >hreadPool >.jav >a:683) > at java.lang.Thread.run(Thread.java:536) > >>-----Original Message----- >>From: D'Alessandro, Arthur [mailto:[EMAIL PROTECTED] >>Sent: 17 March 2004 18:07 >>To: [EMAIL PROTECTED]; Tomcat Users List; Parsons Technical Services >>Subject: RE: Problem using JNDI/DBCP to get DataSouce >> >> >>Would you include any resource definitions and/or any >resource>links/references. >> >>Also, the full stacktrace of the exception may shed some other >potential >problems. >> >>-----Original Message----- >>From: Paul Mahoney [mailto:[EMAIL PROTECTED] >>Sent: Wednesday, March 17, 2004 1:05 PM >>To: D'Alessandro, Arthur; 'Tomcat Users List'; 'Parsons Technical >>Services' >>Subject: RE: Problem using JNDI/DBCP to get DataSouce >> >>I agree, but it looks good and I've tried without one being specified. >>In >>addition, I've never see a connection raised at the database >>server end. >>This makes me think the DataSource is just not working and I'm not >>seeing >>the proper error. But I can find nothing more in the logs :( >> >>>-----Original Message----- >>>From: D'Alessandro, Arthur [mailto:[EMAIL PROTECTED] >>>Sent: 17 March 2004 18:00 >>>To: Tomcat Users List; [EMAIL PROTECTED]; Parsons Technical Services >>>Subject: RE: Problem using JNDI/DBCP to get DataSouce >>> >>> >>>Check your validation query in your resource definition. >>> >>>-----Original Message----- >>>From: Paul Mahoney [mailto:[EMAIL PROTECTED] >>>Sent: Wednesday, March 17, 2004 12:57 PM >>>To: 'Parsons Technical Services'; 'Tomcat Users List' >>>Subject: RE: Problem using JNDI/DBCP to get DataSouce >>> >>>Tried >>> dataSource = (DataSource) >>>initContext.lookup("java:comp/jdbc/OscarsDB"); >>>But it return null, so tried >>> dataSource = (DataSource) >>>initContext.lookup("java:comp/env/jdbc/OscarsDB"); >>>And a datasource instance was return so before, looking good... >>>However, still got the same exception when trying to get a connection >>>instance >>> "Cannot get a connection, pool exhausted" >>>with a nested exception >>> "Could not create a validated object" >>> >> >> >> >> > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
