阅读更多
我在做Seam和Quartz集成时走了如下弯路:
1、开始试图直接使用JBoss自带的Quartz.jar,没有在ear包中加上Quartz.jar,导致了执行任务时ClassLoarder找不到(这确实范了个低级错误);
2、关于Quartz的持久化,开始时用的是JobStoreTX,因为事务被Seam管理了,导致操作Quartz就会报事务提交错,最后将seam.quartz.properties文件改成如下:
Java代码
#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName Sched1
org.quartz.scheduler.instanceId AUTO
org.quartz.scheduler.rmi.export false
org.quartz.scheduler.rmi.proxy false
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount 3
#============================================================================
# Configure JobStore
#============================================================================
org.quartz.jobStore.misfireThreshold 60000
org.quartz.jobStore.class org.quartz.impl.jdbcjobstore.JobStoreCMT
org.quartz.jobStore.driverDelegateClass org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
org.quartz.jobStore.useProperties false
org.quartz.jobStore.dataSource umbrDatasource
org.quartz.jobStore.nonManagedTXDataSource umbrDatasource
org.quartz.jobStore.tablePrefix qrtz_
org.quartz.jobStore.selectWithLockSQL = SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?
#============================================================================
# Configure Datasources
#============================================================================
org.quartz.dataSource.umbrDatasource.jndiURL java:/umbrDatasource
引自: http://happydev.iteye.com/blog/225233