0 0

在was6.1上部署一个web应用,使用Oracle10g数据库,使用连接池方式连接数据库,使用quartz跑自动任务,偶尔报错连接失败错误5

在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)

问题补充:这个 会不会 跟 was有关?因为我要是把应用部署到was7上就不会出现这个问题

6个答案 按时间排序 按投票排序

0 0

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。

2015年1月14日 09:03
0 0

目测跟was关系不大,异常提示是网络故障,连不上数据库,是不是走集群了,某个节点故障,还是ip不对了,网络不通了,试试往这考虑下

2015年1月12日 18:26
0 0

请求访问过于频繁,如果某个时间段你的网络丢包比较厉害的话,会导致你的程序报这个错误的

2015年1月12日 14:43
0 0

哥们写个小程序 每隔8小时访问一次 这样就不会有问题

2015年1月12日 14:29
0 0

长时间未连接  timeout了?

2015年1月12日 14:18
0 0

这 都提示了 连不上oracle 看看网络问题

2015年1月12日 11:42

相关推荐

    Spingboot+Quartz基于数据库的作业任务调度

    例如,更新一个任务的触发时间,只需要更改数据库中的对应记录即可,无需修改代码或重启服务。 7. **监控和管理**:Quartz提供了一套Web管理界面(如`AdminUI`),可以用来查看和控制正在运行的任务。此外,还可以...

    Quartz 定时任务web使用

    通过上述内容,我们可以构建一个基于Quartz的Web应用定时任务系统,实现任务的自动执行。对于"Quartz_demo"这个压缩包文件,可能包含了示例代码、配置文件和说明文档,可以进一步帮助学习和实践Quartz在Web环境中的...

    Quartz 2.2.2数据库表格脚本

    Quartz 是一个开源的作业调度框架,广泛应用于Java应用程序中,用于执行定时任务。Quartz 2.2.2 版本是其在特定时间的一个稳定版本,它提供了丰富的功能来帮助开发者创建、安排和管理任务。在描述中提到的"数据库...

    quartz数据库脚本

    Quartz是一款开源的作业调度框架,它允许开发者在应用程序中安排任务执行,比如定时执行数据同步、发送邮件等。在Quartz 2.2.3版本中,它提供了内置的数据库表结构脚本来帮助用户在各种不同的数据库系统上设置和管理...

    quartz集群各种数据库建表脚本

    Quartz是一款开源的作业调度框架,它允许开发者在Java应用程序中定义定时任务。在大型分布式系统中,为了提高系统的容错性和高可用性,通常会采用集群部署的方式。集群中的每个节点都是一个独立的Quartz实例,它们...

    Quartz 数据库动态配置

    在应用启动时,Quartz会读取数据库中的所有作业和触发器,将其加载到内存中。之后,任何对数据库中这些记录的修改,都会被Quartz实时监控并相应地调整其内部调度。例如,当你在数据库中新增一个触发器时,Quartz会...

    quartz实例sqlserver数据库连接

    Quartz是一款开源的作业调度框架,它允许开发者在应用程序中安排任务执行,比如定时执行某个方法或服务。在“quartz实例sqlserver数据库连接”这个主题中,我们主要讨论如何配置Quartz与SQL Server数据库进行交互,...

    Java用JDBC实现对Oracle数据库操作

    JDBC是Java中用于与各种数据库通信的标准接口,而Oracle数据库是一个广泛使用的商业关系型数据库系统。在这个主题中,我们将深入探讨以下几个关键知识点: 1. **JDBC驱动**: 在Java中与Oracle数据库交互,首先需要...

    定时器(quartz+spring)读取数据库配置

    通过这种方式,我们可以构建一个高度可扩展和可配置的定时任务系统,只需在数据库中修改Job和Trigger的配置,无需重启应用,就能动态调整任务的执行策略。这种方式特别适合大型分布式系统,可以实现任务的集中管理和...

    quartz各种数据库的建表语句

    Quartz是一款广泛使用的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Quartz中,任务和调度信息存储在数据库中,因此理解如何为不同类型的数据库创建相应的表是至关重要的。以下是对...

    Spring+Quartz 从数据库中获取定时任务和定时时间,动态实现对定时任务的增删改查

    4. **部署与测试**:项目部署在Tomcat服务器上,当服务器启动时,Quartz会自动加载数据库中的定时任务。通过监控日志或者定制的监控界面,可以观察到定时任务的执行情况,验证其是否按照预期工作。 5. **Spring的...

    springboot2.3集成quartz定时任务持久化数据库,支持集群

    这个过程的关键在于配置Quartz Scheduler,设置数据库连接,以及确保任务在多节点环境中能够正确协调。 首先,Quartz是一个开源的作业调度框架,它允许开发者定义定时任务并按计划执行。Spring Boot与Quartz的集成...

    quartz 持久化数据库表结构sql

    Quartz 是一个开源的作业调度框架,广泛应用于Java应用程序中,用于执行定时任务。它支持持久化任务和触发器到数据库,确保即使在系统重启后也能恢复先前的任务安排。本篇将详细介绍Quartz如何实现数据库持久化,并...

    java quartz计划任务中间件使用教程,每天定时备份数据库的插件jspweb java网站工程.rar

    Quartz是Java领域一款强大的开源任务调度框架,用于在应用程序中安排和执行任务。它提供了丰富的API,使得开发者可以方便地创建、管理和监控计划任务。本教程将深入讲解如何使用Quartz来实现每天定时备份数据库的...

    Springboot整合Quartz实现定时任务数据库动态配置

    Spring Boot作为一个轻量级的Java框架,提供了与各种定时任务库集成的能力,其中Quartz是一个广泛应用的开源作业调度框架。本篇文章将详细探讨如何在Spring Boot项目中整合Quartz,并通过MySQL数据库实现定时任务的...

    数据库管理quartz定时任务

    【数据库管理Quartz定时任务...综上所述,Quartz是一个强大且灵活的定时任务管理工具,结合数据库存储,能有效应对复杂的企业级需求。开发者可以通过配置和编程,轻松地创建和管理各种定时任务,实现自动化的工作流程。

    springmvc+bootstarp备份与恢复orcle10g数据库实现

    本资源"springmvc+bootstrap备份与恢复Oracle10g数据库实现"提供了一个结合Spring MVC和Bootstrap技术来自动化数据库备份和恢复的解决方案,这对于那些需要确保数据安全性的企业尤其有价值。 Spring MVC是一个强大...

    Quartz2.0持久化到数据库

    在“Quartz2.0持久化到数据库”这个主题中,我们将深入探讨如何将Quartz2.0的任务调度信息存储到数据库中,以便在系统重启或故障后能够恢复任务,并提供更可靠的调度服务。 首先,理解Quartz2.0的持久化机制至关...

    springboot整合quartz,实现数据库方式执行定时任务

    在现代企业级应用中,定时任务的管理是一个重要的功能,它可以帮助我们自动化执行一系列周期性的任务,例如数据备份、报表生成、系统维护等。Spring Boot作为一款轻量级的Java框架,提供了与各种组件集成的能力,...

    ORACLE数据库备份用bat脚本

    在IT行业中,数据库管理是至关重要的任务之一,而Oracle数据库作为全球广泛使用的数据库管理系统,其数据安全性与备份策略显得尤为重要。本文将详细讲解如何利用批处理脚本(BAT)进行Oracle数据库的备份,并探讨...

Global site tag (gtag.js) - Google Analytics