[jboss-user] [JBoss Seam] - Re: Quartz TimerService
dilator
do-not-reply at jboss.com
Sat Dec 16 12:58:30 EST 2006
Ok getting a bit closer - been rooting about FishEye and I came across a new ejb-timer-service.xml yay!
| <?xml version="1.0" encoding="UTF-8"?>
| <server>
| <!-- TODO: the ejb deployer must depend on this -->
|
| <!-- ================================================ -->
| <!-- Defines the Quartz configuration for -->
| <!-- the EJB3 Timer Service -->
| <!-- ================================================ -->
| <mbean code="org.jboss.ejb3.timerservice.quartz.jmx.EJB3TimerService" name="jboss.ejb:service=EJB3TimerService">
| <depends>jboss:service=Naming</depends>
|
| <depends>jboss:service=TransactionManager</depends>
| <depends optional-attribute-name="DataSource">jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
|
| <attribute name="Properties">
| org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreCMT
| org.quartz.jobStore.nonManagedTXDataSource=myDS
| org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.HSQLDBDelegate
| org.quartz.jobStore.tablePrefix=QRTZ_
| org.quartz.jobStore.dataSource=myDS
|
| # To get it to work with hypersonic
| # FIXME: this doesn't lock the row
| org.quartz.jobStore.selectWithLockSQL=SELECT * FROM qrtz_locks WHERE lock_name = ?
|
| # from quartz.properties
| org.quartz.scheduler.instanceName=JBossEJB3QuartzScheduler
| org.quartz.scheduler.rmi.export=false
| org.quartz.scheduler.rmi.proxy=false
| org.quartz.scheduler.wrapJobExecutionInUserTransaction=false
|
| org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
| org.quartz.threadPool.threadCount=10
| org.quartz.threadPool.threadPriority=5
| org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true
|
| org.quartz.jobStore.misfireThreshold=60000
| </attribute>
| <attribute name="SqlProperties">
| CREATE_DB_ON_STARTUP = TRUE
|
| CREATE_TABLE_JOB_DETAILS = CREATE TABLE qrtz_job_details(JOB_NAME VARCHAR(80) NOT NULL, JOB_GROUP VARCHAR(80) NOT NULL, \
| DESCRIPTION VARCHAR(120) NULL, JOB_CLASS_NAME VARCHAR(128) NOT NULL, IS_DURABLE VARCHAR(1) NOT NULL, \
| IS_VOLATILE VARCHAR(1) NOT NULL, IS_STATEFUL VARCHAR(1) NOT NULL, REQUESTS_RECOVERY VARCHAR(1) NOT NULL, \
| JOB_DATA BINARY NULL, PRIMARY KEY (JOB_NAME,JOB_GROUP))
| CREATE_TABLE_JOB_LISTENERS = CREATE TABLE qrtz_job_listeners(JOB_NAME VARCHAR(80) NOT NULL, JOB_GROUP VARCHAR(80) NOT NULL, \
| JOB_LISTENER VARCHAR(80) NOT NULL, PRIMARY KEY (JOB_NAME,JOB_GROUP,JOB_LISTENER), FOREIGN KEY (JOB_NAME,JOB_GROUP) \
| REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP))
| CREATE_TABLE_TRIGGERS = CREATE TABLE qrtz_triggers(TRIGGER_NAME VARCHAR(80) NOT NULL, TRIGGER_GROUP VARCHAR(80) NOT NULL, \
| JOB_NAME VARCHAR(80) NOT NULL, JOB_GROUP VARCHAR(80) NOT NULL, IS_VOLATILE VARCHAR(1) NOT NULL, DESCRIPTION VARCHAR(120) NULL, \
| NEXT_FIRE_TIME NUMERIC(13) NULL, PREV_FIRE_TIME NUMERIC(13) NULL, TRIGGER_STATE VARCHAR(16) NOT NULL, \
| TRIGGER_TYPE VARCHAR(8) NOT NULL, START_TIME NUMERIC(13) NOT NULL, END_TIME NUMERIC(13) NULL, CALENDAR_NAME VARCHAR(80) NULL, \
| MISFIRE_INSTR NUMERIC(2) NULL, JOB_DATA BINARY NULL, PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (JOB_NAME,JOB_GROUP) \
| REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP))
| CREATE_TABLE_SIMPLE_TRIGGERS = CREATE TABLE qrtz_simple_triggers(TRIGGER_NAME VARCHAR(80) NOT NULL, \
| TRIGGER_GROUP VARCHAR(80) NOT NULL, REPEAT_COUNT NUMERIC(7) NOT NULL, REPEAT_INTERVAL NUMERIC(12) NOT NULL, \
| TIMES_TRIGGERED NUMERIC(7) NOT NULL, PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) \
| REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
| CREATE_TABLE_CRON_TRIGGERS = CREATE TABLE qrtz_cron_triggers(TRIGGER_NAME VARCHAR(80) NOT NULL, \
| TRIGGER_GROUP VARCHAR(80) NOT NULL, CRON_EXPRESSION VARCHAR(80) NOT NULL, TIME_ZONE_ID VARCHAR(80), \
| PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) \
| REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
| CREATE_TABLE_BLOB_TRIGGERS = CREATE TABLE qrtz_blob_triggers(TRIGGER_NAME VARCHAR(80) NOT NULL, \
| TRIGGER_GROUP VARCHAR(80) NOT NULL, BLOB_DATA BINARY NULL, PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), \
| FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
| CREATE_TABLE_TRIGGER_LISTENERS = CREATE TABLE qrtz_trigger_listeners(TRIGGER_NAME VARCHAR(80) NOT NULL, \
| TRIGGER_GROUP VARCHAR(80) NOT NULL, TRIGGER_LISTENER VARCHAR(80) NOT NULL, \
| PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_LISTENER), FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) \
| REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
| CREATE_TABLE_CALENDARS = CREATE TABLE qrtz_calendars(CALENDAR_NAME VARCHAR(80) NOT NULL, CALENDAR BINARY NOT NULL, \
| PRIMARY KEY (CALENDAR_NAME))
| CREATE_TABLE_PAUSED_TRIGGER_GRPS = CREATE TABLE qrtz_paused_trigger_grps(TRIGGER_GROUP VARCHAR(80) NOT NULL, \
| PRIMARY KEY (TRIGGER_GROUP))
| CREATE_TABLE_FIRED_TRIGGERS = CREATE TABLE qrtz_fired_triggers(ENTRY_ID VARCHAR(95) NOT NULL, TRIGGER_NAME VARCHAR(80) NOT NULL, \
| TRIGGER_GROUP VARCHAR(80) NOT NULL, IS_VOLATILE VARCHAR(1) NOT NULL, INSTANCE_NAME VARCHAR(80) NOT NULL, \
| FIRED_TIME NUMERIC(13) NOT NULL, STATE VARCHAR(16) NOT NULL, JOB_NAME VARCHAR(80) NULL, JOB_GROUP VARCHAR(80) NULL, \
| IS_STATEFUL VARCHAR(1) NULL, REQUESTS_RECOVERY VARCHAR(1) NULL, PRIMARY KEY (ENTRY_ID))
| CREATE_TABLE_SCHEDULER_STATE = CREATE TABLE qrtz_scheduler_state(INSTANCE_NAME VARCHAR(80) NOT NULL, \
| LAST_CHECKIN_TIME NUMERIC(13) NOT NULL, CHECKIN_INTERVAL NUMERIC(13) NOT NULL, RECOVERER VARCHAR(80) NULL, \
| PRIMARY KEY (INSTANCE_NAME))
| CREATE_TABLE_LOCKS = CREATE TABLE qrtz_locks(LOCK_NAME VARCHAR(40) NOT NULL, PRIMARY KEY (LOCK_NAME))
| INSERT_TRIGGER_ACCESS = INSERT INTO qrtz_locks values('TRIGGER_ACCESS')
| INSERT_JOB_ACCESS = INSERT INTO qrtz_locks values('JOB_ACCESS')
| INSERT_CALENDAR_ACCESS = INSERT INTO qrtz_locks values('CALENDAR_ACCESS')
| INSERT_STATE_ACCESS = INSERT INTO qrtz_locks values('STATE_ACCESS')
| INSERT_MISFIRE_ACCESS = INSERT INTO qrtz_locks values('MISFIRE_ACCESS')
| </attribute>
|
| </mbean>
| </server>
|
And that seems to get the Quartz implementation going. But looks like it's not quite finished :D
| Caused by: java.lang.RuntimeException: NYI
| at org.jboss.ejb3.timerservice.quartz.TimerServiceImpl.getTimers(TimerServiceImpl.java:207)
|
Getting there!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3994438#3994438
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3994438
More information about the jboss-user
mailing list