开发者社区> 问答> 正文

在was6.1上部署一个web应用,使用Oracle10g数据库,使用连接池方式连接数据库,使用qu

在was6.1上部署一个web应用,使用Oracle10g数据库,使用连接池方式连接数据库,使用quartz跑自动任务,它就偶尔报下面的错误,请教各位同仁如何解决,客户已上线,问题有点急,如下是报错代码:

com.ibm.websphere.ce.cm.StaleConnectionException: Io 异常: The Network Adapter could not establish the connectionDSRA0010E: SQL 状态 = null,错误代码 = 17,002
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:67)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:522)
at com.ibm.websphere.rsadapter.GenericDataStoreHelper.mapExceptionHelper(GenericDataStoreHelper.java:527)
at com.ibm.websphere.rsadapter.GenericDataStoreHelper.mapException(GenericDataStoreHelper.java:582)
at com.ibm.ws.rsadapter.AdapterUtil.mapException(AdapterUtil.java:2160)
at com.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:1708)
at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:1258)
at com.ibm.ejs.j2c.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1992)
at com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1664)
at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2400)
at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:940)
at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:614)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:449)
at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:418)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
at org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy$TransactionAwareInvocationHandler.invoke(TransactionAwareDataSourceProxy.java:224)
at $Proxy14.getAutoCommit(Unknown Source)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:555)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:335)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
at com.iss.itreasury.systemmanage.autotask.service.AutoTaskExecuteService$$EnhancerByCGLIB$$96c0586.queryAutoTaskExecuteList(<generated>)
at com.iss.itreasury.task.ExecutePlanJob.execute(ExecutePlanJob.java:51)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:534)

展开
收起
游客ufivfoddcd53c 2020-01-04 10:49:52 1200 0
1 条回答
写回答
取消 提交回答
  • oracle与was6的间歇性抽风,连接池别用IP,改用hostname。 (1)打开was机器的host,加入数据库ip hostname (2)然后把was6.1的资源url由jdbc:oracle:thin:@1.1.1.1:1521:dborl变为 jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST=(ADDRESS = (PROTOCOL = TCP)(HOST = host)(PORT = 1521))) (CONNECT_DATA =(SERVICE_NAME = dborl)(SERVER=DEDICATED) )) (3)重启was。

    2020-01-04 10:50:04
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Web应用系统性能优化 立即下载
高性能Web架构之缓存体系 立即下载
PWA:移动Web的现在与未来 立即下载

相关镜像