- 軟件大?。?span>422KB
- 軟件語(yǔ)言:中文
- 軟件類(lèi)型:國(guó)產(chǎn)軟件
- 軟件類(lèi)別:免費(fèi)軟件 / 編程工具
- 更新時(shí)間:2017-10-09 16:01
- 運(yùn)行環(huán)境:WinAll, WinXP, Win7, Win8, Win10
- 軟件等級(jí):
- 軟件廠(chǎng)商:
- 官方網(wǎng)站:http://www.portlandswalk.com/
17.82M/英文/10.0
31.35M/多國(guó)語(yǔ)言[中文]/5.0
16.13M/多國(guó)語(yǔ)言[中文]/6.6
1.45M/中文/10.0
4.60M/中文/8.7
quartz all 1.8.5.jar是一款非常好用的編程工具,功能強(qiáng)大,使用方便,有需要的朋友不要錯(cuò)過(guò)了,還等什么,快約上你的小伙伴,一起來(lái)綠色資源網(wǎng)下載使用!
在數(shù)據(jù)庫(kù)中創(chuàng)建Quartz所需表(sql語(yǔ)句可以在quartz-1.8.5\docs\dbTables中找到,這里以oracle數(shù)據(jù)庫(kù)為例):
qrtz_blob_triggers,
qrtz_calendars,
qrtz_cron_triggers,
qrtz_fired_triggers,
qrtz_job_details,
qrtz_job_listeners,
qrtz_locks,
qrtz_paused_trigger_grps,
qrtz_scheduler_state,
qrtz_simple_triggers,
qrtz_triggers,
qrtz_trigger_listeners
加入quartz 所需要的包:
放入jboss-4.2.3.GA\server\all\lib下
先把jboss自帶的quartz jar刪除掉。包括(quartz-ra.rar)都刪除掉。
commons-dbcp-1.3.jar
commons-pool-1.5.4.jar
jta-1.1.jar
log4j-1.2.14.jar
quartz-all-1.8.5.jar
slf4j-api-1.6.0.jar
slf4j-log4j12-1.6.0.jar
3.創(chuàng)建quartz-service.xml文件(放入jboss-4.2.3.GA\server\all\deploy下),文件內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.quartz.ee.jmx.jboss.QuartzService"
name="user:service=QuartzService,name=QuartzService">
<attribute name="JndiName">Quartz</attribute>
<attribute name="StartScheduler">true</attribute>
<attribute name="Properties">
#============================================================================
# Configure Main Scheduler Properties
#============================================================================
#==========集群名稱(chēng),每個(gè)節(jié)點(diǎn)的名字都一樣===========
org.quartz.scheduler.instanceName = quartzjbossdemopartitionName
#==========集群每個(gè)節(jié)點(diǎn)ID=======
org.quartz.scheduler.instanceId = AUTO
#============================================================================
# Configure ThreadPool
#============================================================================
#=======線(xiàn)程====
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 25
org.quartz.threadPool.threadPriority = 5
#============================================================================
# Configure JobStore
#============================================================================
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
org.quartz.jobStore.dataSource = QUARTZ
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval = 30000
#============================================================================
# Configure Datasources
#============================================================================
#=================數(shù)據(jù)庫(kù)寫(xiě)上自己的數(shù)據(jù)庫(kù)======
org.quartz.dataSource.QUARTZ.driver = oracle.jdbc.driver.OracleDriver
org.quartz.dataSource.QUARTZ.URL = jdbc:oracle:thin:@192.168.111.24:1521:db org.quartz.dataSource.QUARTZ.user = rootmq
org.quartz.dataSource.QUARTZ.password = rootmq
org.quartz.dataSource.QUARTZ.maxConnections = 5
org.quartz.dataSource.QUARTZ.validationQuery=select 0 from dual
</attribute>
</mbean>
</server>
4. java代碼
每一個(gè) Quartz Job 必須有一個(gè)實(shí)現(xiàn)了 org.quartz.Job 接口的具體類(lèi).
public class JbossJob implements Job {
public void execute(JobExecutionContext arg0) throws JobExecutionException {
System.out.println("hello jbossJob .....");
}
}
5. 具體調(diào)用
public class StartOrCloseScheduler implements Serializable{
/**
*
*/
private static final long serialVersionUID = -2266323478579408291L;
private static Logger myLogger = Logger.getLogger(StartOrCloseScheduler.class);
private static Scheduler sched = null;
/**
* 啟動(dòng)任務(wù)
* jobName: job名稱(chēng)
* jobGroupName: job組名稱(chēng)
* triggerName: trigger名稱(chēng)
* triggerGroupName:trigger組名稱(chēng)
*/
@SuppressWarnings("rawtypes")
public static void start(String jobName,String jobGroupName,
String triggerName,String triggerGroupName,
Class c, String str) {
try {
InitialContext ctx = new InitialContext();
sched = (Scheduler) ctx.lookup("Quartz");
System.out.println("Scheduler:" + sched);
} catch (NamingException e) {
e.printStackTrace();
}
JobDetail job = new JobDetail(jobName,jobGroupName, c);
System.out.println("JobDetail:" + job);
Trigger trigger = new CronTrigger(triggerName,triggerGroupName);
System.out.println("Trigger:" + trigger);
try {
((CronTrigger) trigger).setcronExpression(str);
sched.scheduleJob(job, trigger);
System.out.println("job:" + job);
sched.start();
} catch (Exception e) {
myLogger.error("開(kāi)啟一個(gè)任務(wù)"+jobName+e.getMessage());
e.printStackTrace();
}
}
/**
* 移除一個(gè)任務(wù)
* @param jobName: job名稱(chēng)
* @param jobGroupName: job組名稱(chēng)
* @param triggerName: trigger名稱(chēng)
* @param triggerGroupName: trigger組名稱(chēng)
* @throws SchedulerException
*/
public static void removeJob(String jobName,String jobGroupName,
String triggerName,String triggerGroupName) {
try {
InitialContext ctx = new InitialContext();
sched = (Scheduler) ctx.lookup("Quartz");
} catch (NamingException e) {
e.printStackTrace();
}
try {
//停止觸發(fā)器
sched.pauseTrigger(triggerName,triggerGroupName);
//移除觸發(fā)器
sched.unscheduleJob(triggerName,triggerGroupName);
//刪除任務(wù)
sched.deleteJob(jobName,jobGroupName);
} catch (SchedulerException e) {
myLogger.info("移除一個(gè)任務(wù)"+jobName+e.getMessage());
}
}
}
請(qǐng)描述您所遇到的錯(cuò)誤,我們將盡快予以修正,謝謝!
*必填項(xiàng),請(qǐng)輸入內(nèi)容