PDA

View Full Version : help!!GenericJDBCException: Cannot open user connection



nicolelover
Mar 4th, 2008, 12:34 AM
my web application sometimes works well , but another times throws

exceptions. the issue have driven me nuts.

Hibernate complains about "Cannot open connection".

my environment is Hibernate 3.1, spring 1.2.5, Oracle JDBC driver : 10.2.0.1.0

JDK 1.4 ,Jetty 5.1.3rc4

configuration file:




<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerD ataSource">
<property name="url"><value>${jdbc-0.proxool.driver-url}</value></property>
<property name="driverClassName"><value>${jdbc-0.proxool.driver-class}</value></property>
<property name="username"><value>${jdbc-0.user}</value></property>
<property name="password"><value>${jdbc-0.password}</value></property>
</bean>


<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFac toryBean">
<property name="dataSource">
<reflocal="dataSource"/>
</property>
<property name="hibernateProperties">
<props>
<propkey="hibernate.dialect">org.hibernate.dialect.OracleDialec
</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
<prop key="hibernate.connection.provider_class">
org.hibernate.connection.ProxoolConnectionProvider
</prop>
<prop key="hibernate.proxool.pool_alias">
${hibernate.proxool.pool_alias}
</prop>
</props>
</property>
<property name="mappingDirectoryLocations">
<list>
<value>classpath:com/pft/t3sh3/h3/bo/</value>
<value>classpath:com/pft/iwbps/xt/base/bo/</value>
<value>classpath:com/pft/iwbps/oa/base/bo/</value>
<value>classpath:com/pft/iwbps/xt/grsz/bo/</value>
<value>classpath:com/pft/iwbps/xt/wf/bo/</value>
<value>classpath:com/pft/iwbps/xt/common/bo/</value>
</list>
</property>





Exception s:




javax.servlet.http.HttpServlet.service(HttpServlet .java:688)
14:29:09.765 WARN!! [SocketListener0-3] org.mortbay.jetty.servlet.ServletHandler$Context.l og(ServletHandler.java:1139) >23> iwbps: ServletException
javax.servlet.ServletException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Cannot open user connection
at org.apache.tapestry.engine.AbstractEngine.service( AbstractEngine.java:851)
at org.apache.tapestry.ApplicationServlet.doService(A pplicationServlet.java:198)
at org.apache.tapestry.ApplicationServlet.doGet(Appli cationServlet.java:159)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:595)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(Ser vletHolder.java:427)
at org.mortbay.jetty.servlet.WebApplicationHandler$Ca chedChain.doFilter(WebApplicationHandler.java:833)
at org.springframework.orm.hibernate3.support.OpenSes sionInViewFilter.doFilterInternal(OpenSessionInVie wFilter.java:174)
at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
at org.mortbay.jetty.servlet.WebApplicationHandler$Ca chedChain.doFilter(WebApplicationHandler.java:824)
at org.mortbay.jetty.servlet.WebApplicationHandler.di spatch(WebApplicationHandler.java:474)
at org.mortbay.jetty.servlet.ServletHandler.handle(Se rvletHandler.java:556)
at org.mortbay.http.HttpContext.handle(HttpContext.ja va:1563)
at org.mortbay.jetty.servlet.WebApplicationContext.ha ndle(WebApplicationContext.java:625)
at org.mortbay.http.HttpContext.handle(HttpContext.ja va:1515)
at org.mortbay.http.HttpServer.service(HttpServer.jav a:958)
at org.mortbay.http.HttpConnection.service(HttpConnec tion.java:814)
at org.mortbay.http.HttpConnection.handleNext(HttpCon nection.java:981)
at org.mortbay.http.HttpConnection.handle(HttpConnect ion.java:831)
at org.mortbay.http.SocketListener.handleConnection(S ocketListener.java:244)
at org.mortbay.util.ThreadedServer.handle(ThreadedSer ver.java:357)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadP ool.java:534)
getRootCause():
org.springframework.transaction.CannotCreateTransa ctionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Cannot open user connection
org.hibernate.exception.GenericJDBCException: Cannot open user connection
at org.hibernate.exception.SQLStateConverter.handledN onSpecificException(SQLStateConverter.java:91)
at org.hibernate.exception.SQLStateConverter.convert( SQLStateConverter.java:79)
at org.hibernate.exception.JDBCExceptionHelper.conver t(JDBCExceptionHelper.java:43)
at org.hibernate.exception.JDBCExceptionHelper.conver t(JDBCExceptionHelper.java:29)
at org.hibernate.jdbc.JDBCContext.userConnection(JDBC Context.java:120)
at org.hibernate.impl.SessionImpl.connection(SessionI mpl.java:373)
at org.springframework.orm.hibernate3.HibernateTransa ctionManager.doBegin(HibernateTransactionManager.j ava:407)
at org.springframework.transaction.support.AbstractPl atformTransactionManager.getTransaction(AbstractPl atformTransactionManager.java:281)
at org.springframework.transaction.interceptor.Transa ctionAspectSupport.createTransactionIfNecessary(Tr ansactionAspectSupport.java:217)
at org.springframework.transaction.interceptor.Transa ctionInterceptor.invoke(TransactionInterceptor.jav a:89)
at org.springframework.aop.framework.ReflectiveMethod Invocation.proceed(ReflectiveMethodInvocation.java :144)
at org.springframework.aop.framework.JdkDynamicAopPro xy.invoke(JdkDynamicAopProxy.java:174)
at $Proxy1.o_setTableUpdatState(Unknown Source)
at sun.reflect.GeneratedMethodAccessor20.invoke(Unkno wn Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.aop.support.AopUtils.invokeJoi npointUsingReflection(AopUtils.java:292)
at org.springframework.aop.framework.JdkDynamicAopPro xy.invoke(JdkDynamicAopProxy.java:163)
at $Proxy1.o_setTableUpdatState(Unknown Source)
at com.pft.t3sh3.h3.cache.BoCache.updateTableState(Bo Cache.java:56)
at com.pft.t3sh3.h3.cache.BoCache.<init>(BoCache.java:32)
at com.pft.iwbps.xt.cache.WzBoCache.<init>(WzBoCache.java:27)
at com.pft.iwbps.t3sh3.CacheUtils.cacheInit(CacheUtil s.java:202)
at com.pft.iwbps.t3sh3.Engine.setupForRequest(Engine. java:30)
at org.apache.tapestry.engine.AbstractEngine.service( AbstractEngine.java:841)
at org.apache.tapestry.ApplicationServlet.doService(A pplicationServlet.java:198)
at org.apache.tapestry.ApplicationServlet.doGet(Appli cationServlet.java:159)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:595)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(Ser vletHolder.java:427)
at org.mortbay.jetty.servlet.WebApplicationHandler$Ca chedChain.doFilter(WebApplicationHandler.java:833)
at org.springframework.orm.hibernate3.support.OpenSes sionInViewFilter.doFilterInternal(OpenSessionInVie wFilter.java:174)
at org.springframework.web.filter.OncePerRequestFilte r.doFilter(OncePerRequestFilter.java:76)
at org.mortbay.jetty.servlet.WebApplicationHandler$Ca chedChain.doFilter(WebApplicationHandler.java:824)
at org.mortbay.jetty.servlet.WebApplicationHandler.di spatch(WebApplicationHandler.java:474)
at org.mortbay.jetty.servlet.ServletHandler.handle(Se rvletHandler.java:556)
at org.mortbay.http.HttpContext.handle(HttpContext.ja va:1563)
at org.mortbay.jetty.servlet.WebApplicationContext.ha ndle(WebApplicationContext.java:625)
at org.mortbay.http.HttpContext.handle(HttpContext.ja va:1515)
at org.mortbay.http.HttpServer.service(HttpServer.jav a:958)
at org.mortbay.http.HttpConnection.service(HttpConnec tion.java:814)
at org.mortbay.http.HttpConnection.handleNext(HttpCon nection.java:981)
at org.mortbay.http.HttpConnection.handle(HttpConnect ion.java:831)
at org.mortbay.http.SocketListener.handleConnection(S ocketListener.java:244)
at org.mortbay.util.ThreadedServer.handle(ThreadedSer ver.java:357)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadP ool.java:534)

kantorn
Mar 4th, 2008, 01:32 AM
This seems strange:



<reflocal="dataSource"/>


Try


<ref local="dataSource"/>