读书人

quatrz 任务监控治理 (2)

发布时间: 2012-06-28 15:20:04 作者: rapoo

quatrz 任务监控管理 (2)

Quartz 任务监控管理 中,我们知道实现的因难是Job持久化需要序列化,主要是以处下三个问题:

一、org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean报 java.io.NotSerializableException异常,需要自己实现QuartzJobBean。

二、dao必须要实现序列化接口,Hibernate dao不能直接继承自HibernateDaoSupport,因为HibernateDaoSupport没有实现序列化接口,只能通过SessionFactory构造HibernateTemplate。

三、当库里己存在Trigger,应用启动时会从库里加载己存在Trigger,会报java.io.InvalidObjectException: Could not find a SessionFactory named: null等SessionFactory等相关异常。因为应用每次启动的得到的SessionFactory实例是不一样的,当从库里取到的Job进行反序列化时,Job里包含的SessionFactory与当前的SessionFactory不一致,所以为null。当时解决这问题采用了一个比较笨的方法,在SchedulerServiceImpl增加一个初始化方法

?quatrz 任务监控治理 (2)?quatrz 任务监控治理 (2)?quatrz 任务监控治理 (2)?quatrz 任务监控治理 (2)?quatrz 任务监控治理 (2)?quatrz 任务监控治理 (2)?quatrz 任务监控治理 (2)?quatrz 任务监控治理 (2)?quatrz 任务监控治理 (2)
    CustomerHibernateDao?customerDao?=springBeanService.getBean(CustomerHibernateDao.class,"customerDao")获取方法;??
view plain
  1. CustomerHibernateDao?customerDao?=springBeanService.getBean(CustomerHibernateDao.class,"customerDao")获取方法;??



三个主要问题就这样解决了。

读书人网 >开源软件

热点推荐