چھٹکارا: java.sql.SQLException: ORA-00028: آپ کا سیشن مارا گیا ہے

Sporadic Java Sql Sqlexception



حال ہی میں ، نئے منصوبے شروع کیے گئے ہیں۔ اس منصوبے میں سے ایک کافکا میسج کی کھپت پر عملدرآمد کے بارے میں ہے۔

لاگ میں ، مندرجہ ذیل غلطی بہت کم امکان پایا جاتا ہے:



org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData nested exception is java.sql.SQLException: Closed Connection at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:342) ~[spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:366) ~[spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes(SQLErrorCodesFactory.java:212) [spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:134) [spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.(SQLErrorCodeSQLExceptionTranslator.java:97) [spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.mybatis.spring.MyBatisExceptionTranslator.initExceptionTranslator(MyBatisExceptionTranslator.java:89) [mybatis-spring-1.3.0.jar:1.3.0] at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:74) [mybatis-spring-1.3.0.jar:1.3.0] at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:447) [mybatis-spring-1.3.0.jar:1.3.0] at com.sun.proxy.$Proxy79.update(Unknown Source) [?:?] at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:295) [mybatis-spring-1.3.0.jar:1.3.0] at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:59) [mybatis-3.4.0.jar:3.4.0] at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53) [mybatis-3.4.0.jar:3.4.0] at com.sun.proxy.$Proxy83.modifyOrderStatusByOrderId(Unknown Source) [?:?] at sun.reflect.GeneratedMethodAccessor700.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) [spring-aop-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) [spring-aop-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) [spring-aop-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136) [spring-tx-4.3.13.RELEASE.jar:?] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) [spring-aop-4.3.13.RELEASE.jar:4.3.13.RELEASE] at com.sun.proxy.$Proxy84.modifyOrderStatusByOrderId(Unknown Source) [?:?] at com.xxx.retailorder.syncpostmall.service.impl.PaymentCompServiceImpl.paymentDataSync(PaymentCompServiceImpl.java:101) [PaymentCompServiceImpl.class:?] at com.xxx.retailorder.syncpostmall.service.impl.PaymentCompServiceImpl$$FastClassBySpringCGLIB$$2b9f2446.invoke() [PaymentCompServiceImpl.class:?] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) [spring-core-4.3.13.RELEASE.jar:?] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) [spring-aop-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) [spring-aop-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) [spring-tx-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) [spring-tx-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) [spring-tx-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.13.RELEASE.jar:4.3.13.RELEASE] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) [spring-aop-4.3.13.RELEASE.jar:4.3.13.RELEASE] at com.xxx.retailorder.syncpostmall.service.impl.PaymentCompServiceImpl$$EnhancerBySpringCGLIB$$74a32680.paymentDataSync() [PaymentCompServiceImpl.class:?] at sun.reflect.GeneratedMethodAccessor699.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45] at com.xxx.retailorder.syncpostmall.multithread.MessageHandThread.run(MessageHandThread.java:85) [MessageHandThread.class:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_45] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_45] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45] Caused by: java.sql.SQLException: Closed Connection at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) ~[ojdbc14-10.2.0.2.0.jar:Oracle JDBC Driver version - '10.2.0.3.0'] at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) ~[ojdbc14-10.2.0.2.0.jar:Oracle JDBC Driver version - '10.2.0.3.0'] at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208) ~[ojdbc14-10.2.0.2.0.jar:Oracle JDBC Driver version - '10.2.0.3.0'] at oracle.jdbc.driver.PhysicalConnection.getMetaData(PhysicalConnection.java:1578) ~[ojdbc14-10.2.0.2.0.jar:Oracle JDBC Driver version - '10.2.0.3.0'] at org.apache.commons.dbcp.DelegatingConnection.getMetaData(DelegatingConnection.java:345) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.getMetaData(PoolingDataSource.java:245) ~[commons-dbcp-1.4.jar:1.4] at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:331) ~[spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE] ... 40 more 2018-08-29 09:02:49 739[ERROR][pool-2-thread-2][TransactionInterceptor:]:Application exception overridden by rollback exception nested exception is java.sql.SQLException: ORA-00028: your session has been killed 2018-08-29 09:02:49 748[ERROR][pool-2-thread-2][MessageHandThread:]:serviceMethod.invoke encountered an exception

لاگ ہمیں بتاتا ہے کہ اس ڈیٹا بیس لنک سے جس میں کاروبار فی الحال تفویض کیا گیا ہے بند ہے۔

کلیدی جزو کے ورژن اور تشکیلات اس طرح ہیں۔

org.mybatis.spring.boot mybatis-spring-boot-starter 1.1.1 commons-dbcp commons-dbcp 1.4 com.oracle ojdbc14 10.2.0.2.0 testOnBorrow=true

میں نے بہت ساری معلومات کی جانچ کی اور میرے ساتھی نے مجھے اس معلومات کو تلاش کرنے میں مدد کی: https://stackoverflow.com/questions/7350680/dbcp-returns-closed-conક્શન

ڈی بی سی پی پر ، آپ کی بہترین شرط یہ ہے کہ ایک _ _ + _ | کے ذریعہ واپس آنے سے پہلے کنیکشن کو درست کریں اور ایک | _ _ _ _ | ترتیب ، جیسے۔ validationQuery

دوسروں کا کہنا ہے کہ ڈی بی سی پی اعلی ہم آہنگی پر بہت اچھا نہیں ہے۔ لہذا ، ڈوئیرڈ میں تبدیل کریں ، اور اسپرنگ میبیٹیس پیکیج کو اپ گریڈ کریں ، کنیکشن پول ٹیسٹ کی تشکیل کو تبدیل کریں۔

پھر مندرجہ ذیل ترتیب میں تبدیل کر دیا گیا۔

SELECT 1 ... ...

مذکورہ ریلیز پروڈکشن میں تبدیلی کے بعد ، ایک دن میں دو بار درج ذیل غلطی واقع ہوئی۔

org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.1 com.alibaba druid 1.1.10 com.oracle ojdbc14 10.2.0.2.0

ظاہر ہے ، یہ پچھلے ورژن کی طرح نہیں ہے۔ اس بار ، تھریڈ پول ری سائیکل والے دھاگے میں بند کڑی کا مربع مقام ملا۔

اب تک ، اس کی اصل وجہ نہیں مل سکی ہے۔

اگلا ورژن ، ojdbc14 کو 10.2.0.2 سے 10.2.0.4 میں اپ گریڈ کرنے کے لئے تیار ہے۔