`
doltter
  • 浏览: 7882 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Quartz中Hibernate数据库操作的怪问题

阅读更多
最近做了一个项目框架是Spring+Hibernate+Webwork,数据库是MySQL。用到了Quartz。这个job继承QuartzJobBean,直接使用DAO层。

项目每10分钟运行一次,中间有个for循环,循环内部有个DAO的save操作。
结果发现有个很严重的问题,job正常运行一段时间后,save操作多次后,某个循环中,程序运到save操作就不动了(比如i=899的时候),像假死一样。 似乎数据库连接出问题了,因为mysql查询show processlist的时候发现了3个本程序调用的process都是处于休眠状态。

请求指点,谢谢。

JOB中的部分的代码

protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { 
        for (int i = 0; i < 10000; i++) { 
                ItsRule rule = new ItsRule(i);
                其他非数据库操作,估计耗时2秒。。。
                abcDAO.save(rule); 
        } 
} 



DAO中的代码

public class AbcDAO extends HibernateDaoSupport { 
        public void save(Object object) {
                getHibernateTemplate().save(object);
        } 
} 


上面代码测试的过程中,在上段代码第3行处假死的(用LOG做过验证的),但是假死之前session is Open和session is Connected。


请大家赐教,谢谢了。
分享到:
评论
3 楼 xhfei 2008-09-24  
我跟你遇到的问题差不多,我也是直接调用dao保存一个对象,但总是多保存了一次。不知道哪里出了问题
2 楼 doltter 2008-06-13  
各位,不好意思,问题解决了。
唉,耽误了我2点的工作进度!
1 楼 doltter 2008-06-13  
保留本楼用作回答使用,请版主不要扣我分啊

相关推荐

    Spring+hibernate+quartz 定时操作数据库

    在spring+hibernate的框架中定时操作数据库,主要是拿到sessionFactory,不会出现no session 和transaction no-bound等问题,由sessionFactory完成对数据的操作,有些包是没有用的,有兴趣的可以自己删除掉

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

    接着,定义一个`JobRepository`接口,继承自JpaRepository,用于操作数据库中的JobDetail和Trigger。 ```java public interface JobRepository extends JpaRepository, Long&gt;, JpaRepository, Long&gt; { // custom ...

    quartz1.6.5+Hibernate+Spring

    在 Quartz 与 Hibernate 整合时,可以利用 Hibernate 的功能来持久化 Quartz 的作业和触发器,提供了一种无缝的方式来管理数据库中的调度数据。 Spring 是一个全面的 Java 应用开发框架,提供依赖注入、事务管理、...

    quartz+ibatis+oracle/mysql\quartz+hibernate+oracle/mysql

    项目用eclipse 导入 不同的数据库 请在数据库运行不同的SQL 脚本 用hibernate 时注意 是什么数据库 hibernate.properties 文件第一二行自行更改数据库类型 如果不能正常运行、欢迎联系我、一起讨论 。

    quartz1.6.5+Hibernate+Spring整合Demo

    quartz1.6.5 整合 Hibernate、Spring,本例支持同时运行多个不同的任务,每个任务动态调用的方法和时间都不一样; 附件中有支持各种数据库的脚本;本例支持Oracle10g数据库脚本;开发测试使用的IDE工具MyEclipse6.5;...

    spring4+hibernate5+quartz2+hdfs整合

    在提供的压缩包"spring4+hibernate5+quartz2+hdfs.rar"中,可能包含了配置文件、Java源代码、数据库连接设置等,用户只需提供自己的JDBC连接信息,即可快速部署和运行这个整合系统。通过解压并研究这些文件,开发者...

    hibernate3+quartz1

    例如,我们可能需要定期检查数据库中的某些数据并执行相应的操作,或者定时从外部接口获取数据并存储到数据库中。这种结合可以帮助我们构建出一个自动化的后台任务系统,无需人工干预即可处理数据。 要实现这样的...

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

    - **JDBC操作**:使用JDBC API或者ORM框架(如Hibernate、MyBatis)来连接数据库,执行备份脚本。通常包括创建备份文件、导出数据到文件等步骤。 - **备份策略**:可以考虑全量备份和增量备份。全量备份是每次备份...

    Quartz 手册中 文 版

    Quartz 是一个开源的作业调度框架,用于在 Java 应用程序中实现复杂的工作调度。它的设计目标是成为一个完全可插拔的作业调度系统,能够嵌入到任何使用 Java 的应用中,提供灵活且可靠的定时任务执行服务。Quartz 的...

    Quartz开发使用说明文档

    Quartz的主要特点是高可用性、可扩展性、灵活配置、支持多种数据库和集群环境。 Quartz 集群调度使用说明 Quartz 集群调度是指将多个Quartz节点组成一个集群,以便提高系统的可用性和可扩展性。在集群环境中,每个...

    quartz系列之九:存储

    4. **JPA和Hibernate集成**:对于使用JPA或Hibernate的应用,Quartz还提供了集成方案,可以直接利用这些ORM框架进行持久化操作,简化了数据库操作的复杂性。 5. **分布式存储**:在集群环境中,Quartz支持多节点间...

    SSH+quartz实现的可动态配置时间规则的定时任务

    在这个项目中,Hibernate可能被用来存储和检索quartz的作业和触发器信息,包括时间规则,这样就可以在数据库中动态更新任务配置,而无需修改代码。 4. **Quartz库**:Quartz是Java中广泛使用的任务调度库,它可以...

    quartz1.6.5+Spring+Hibernate

    quartz1.6.5 整合 Hibernate、Spring,本例支持同时运行多个不同的任务,每个任务动态调用的方法和时间都不一样; 附件中有支持各种数据库的脚本;本例支持Oracle10g数据库脚本;开发测试使用的IDE工具MyEclipse6.5;...

    springmvc+hibernate+定时器配置实例

    将SpringMVC、Hibernate和定时器整合,通常是在SpringMVC中配置一个定时任务,该任务利用Hibernate进行数据库操作。首先,你需要在SpringMVC的配置文件中添加定时任务的配置,比如使用Spring的TaskExecutor或...

    quartz实现动态任务定时调度

    这两份配置文件的目的是让 Quartz 将作业和触发器的信息保存在数据库中,便于管理和维护。 在 `applicationContext.xml` 中,除了数据源配置,还需要引入 Quartz 的上下文配置。这通常涉及创建一个 `...

    SSH框架+Quartz集群

    在压缩包文件"oa_ssh"中,可能包含了项目的所有源代码、配置文件、数据库脚本等资源,开发者可以通过这些文件了解和学习SSH框架与Quartz集群的整合实现,以及RABC权限管理的具体细节。通过研究和实践,可以深入理解...

    quartz-2.2.3

    Quartz的持久化操作需要数据库支持,压缩包中的"需要的表"包含了Quartz运行所需的数据库表脚本。这些表用于存储Job、Trigger和其他调度信息,如qrtz_jobs表存储Job信息,qrtz_triggers表存储Trigger信息等。 五、...

    Spring Quartz如何动态配置时间

    在 Quartz 任务调度器中,我们可以从数据库中读取相应的时间规则表达式,并根据该表达式来触发相应的任务。 5. 更新您的任务触发器的时间设置 在 Quartz 任务调度器中,我们需要更新任务触发器的时间设置,以便于...

    quartz的持久化

    Quartz 是一个开源的作业调度框架,广泛应用于Java应用程序中,用于执行定时任务。它的持久化功能是其重要特性之一,使得在系统重启后能够恢复先前的状态,继续执行预定的任务,保证了服务的连续性和可靠性。 ...

    ssh2+quartz整合

    Hibernate通过XML或注解方式将Java对象映射到数据库表,简化了数据库操作。在SSH2中,Hibernate负责数据的持久化,与Spring配合可以实现透明的数据访问。 Quartz库则专注于任务调度,它允许开发者定义Job(作业)和...

Global site tag (gtag.js) - Google Analytics