JDBCExceptionReporter - SQL Error: 17008, SQLState: 08003
24,152
You can't get a current hibernate session if it's not available. Change the code to open a new session.
Session session = HibernateUtil.getSessionFactory().openSession();
At the end when you no longer needed it use the session factory to close a session.
Author by
user184008
Updated on September 04, 2020Comments
-
user184008 over 3 years
I am getting below error while fetching records and its sporadic , it gets fixed either by restarting the server or by itself after some time. I am using Struts 2, Oracle 11g, Hibernate 3.
Error
2014-05-06 13:38:51 WARN JDBCExceptionReporter:100 - SQL Error: 17002, SQLState: 08006 2014-05-06 13:38:51 ERROR JDBCExceptionReporter:101 - IO Error: Connection timed out 2014-05-06 13:38:51 ERROR Dispatcher:38 - Exception occurred during processing request: null java.lang.NullPointerException at com.tai.dao.UsersTaiImplDAO.listUser(UsersTaiImplDAO.java:37) at com.tai.web.UsersTaiAction.userLogin(UsersTaiAction.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:239) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at
C3P0 Properties
<property name="c3p0.acquire_increment">4</property> <property name="c3p0.idle_test_period">100</property> <!-- seconds --> <property name="c3p0.max_size">20</property> <property name="c3p0.max_statements">0</property > <property name="c3p0.min_size">10</property> <property name="c3p0.timeout">300</property> <property name="c3p0.acquireRetryDelay">1000</property> <property name="c3p0.acquireRetryAttempts">65</property> <property name="c3p0.breakAfterAcquireFailure">false</property> <property name="c3p0.numHelperThreads">8</property> <property name="c3p0.maxAdministrativeTaskTime">1</property>
Code
public List<UsersTai> listUser(String userName, String password) { _logger.debug("listUser"); List<UsersTai> usersTai = null; String name= userName.substring(userName.indexOf('@')).trim(); try { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); usersTai = session.createQuery("from UsersTai where username='" + userName +"' or username= '"+name + "' and USERPASSWORD='"+ password +"'").list(); session.getTransaction().commit();