在数据库中存储后无法运行作业

时间:2014-12-25 12:57:16

标签: java quartz-scheduler hsqldb

我使用最新版本的Quartz-2.2.1和HSQL-2.3.2。我在db中保存后执行作业时遇到问题。使用mySql连接的相同代码有效 - 该作业在存储后自动启动。使用HSQL它根本不起作用,只存储在db。

MyJOB.class

public MyJob() {
    this.myJob = newJob(SimpleQuartzJob.class).withIdentity("myJob",
    "group").build();
}

MyTrigger.class

private Trigger trigger;
public MyTrigger() {
    trigger = newTrigger()
            .withIdentity("myTrigger", "group")
            .startNow()
            .withSchedule(
                    simpleSchedule().withIntervalInSeconds(1)
                            .repeatForever()).build();
}

SimpleQuatzJob.class

public void execute(JobExecutionContext context)
        throws JobExecutionException {
    try {
        System.out.println("=)");
    } catch (Exception e) {
        e.printStackTrace();
    }
}

main()的

SchedulerFactory sf = new StdSchedulerFactory();
final Scheduler sd = sf.getScheduler();
sd.start();
MyJob job = new MyJob();
MyTrigger trigger = new MyTrigger();
sd.scheduleJob(job.getMyJob(), trigger.getMyTrigger());

属性:

org.quartz.scheduler.instanceName = test_scheduler

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool

org.quartz.threadPool.threadCount = 4

org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true

org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX

org.quartz.jobStore.useProperties = false

org.quartz.jobStore.tablePrefix = qrtz _

org.quartz.jobStore.misfireThreshold = 60000

org.quartz.jobStore.isClustered = false

org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.HSQLDBDelegate

org.quartz.jobStore.dataSource = myDS

org.quartz.dataSource.myDS.driver = org.hsqldb.jdbc.JDBCDriver

org.quartz.dataSource.myDS.URL = jdbc:hsqldb:file:D:\ files \ mydatabase \ testdb

org.quartz.dataSource.myDS.user = sa

org.quartz.dataSource.myDS.password =

org.quartz.dataSource.myDS.shutdown =真

org.quartz.dataSource.myDS.maxConnections = 50


与服务器模式相同:

org.quartz.dataSource.myDS.URL = jdbc:hsqldb:hsql://localhost:9001/

有人可以告诉我这段代码有什么问题,因为我已经好几天都无法让它工作了。提前谢谢。

0 个答案:

没有答案