My spring web application is hosted in tomcat 7 on production machine and connection pool configuration are as below in conf/context.xml file of tomcat:
Resource name="jdbc/myapp" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:JIWAN/JIWAN@(DESCRIPTION=(FAILOVER=ON)(LOADBALANCE=OFF)(ADDRESS_LIST=(ADDRESS = (PROTOCOL = TCP) (HOST = db-1)(PORT = xxxx))(ADDRESS = (PROTOCOL = TCP)(HOST = db-2)(PORT = xxxx)) )(CONNECT_DATA =(SERVICE_NAME = myprod) ))" username="jiwan" password="jiwan1" maxActive="100" maxIdle="10" maxWait="-1" testOnBorrow="true" validationInterval="30000" validationQuery="select 1 from dual" jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState"
I am able to login in the application using a user "sam@yahoo.com". The issue is when we tried to log into application using same@yahoo.com at the same time from different machine, we started getting below error. However, previously it was working perfectly and it is our system requirement that same user can be logged in from different machines at a time:
Please help me to get the root cause of this issue, so that i can rectify this:
Error:
java.sql.SQLRecoverableException: No more data to read from socket
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1200) ~[ojdbc6-11.2.0.jar:11.2.0.1.0]
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1155) ~[ojdbc6-11.2.0.jar:11.2.0.1.0]
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:279) ~[ojdbc6-11.2.0.jar:11.2.0.1.0]
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186) ~[ojdbc6-11.2.0.jar:11.2.0.1.0]
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521) ~[ojdbc6-11.2.0.jar:11.2.0.1.0]
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:205) ~[ojdbc6-11.2.0.jar:11.2.0.1.0]
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:861) ~[ojdbc6-11.2.0.jar:11.2.0.1.0]
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1145) ~[ojdbc6-11.2.0.jar:11.2.0.1.0]
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1267) ~[ojdbc6-11.2.0.jar:11.2.0.1.0]
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3449) ~[ojdbc6-11.2.0.jar:11.2.0.1.0]
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3493) ~[ojdbc6-11.2.0.jar:11.2.0.1.0]