一輩子的程序員?
愛你一生不變-芳芳!
posts - 27, comments - 15, trackbacks - 0, articles - 0
BlogJava
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
我的評論
re: 給我離開的勇氣!!!
boddi 2008-10-07 17:18
是的,謝謝
re: Spring Quartz如何動態(tài)配置時間(3)
boddi 2007-08-11 14:56
thrank you!
是這樣的,客戶有個需求是可以自己修改任務(wù)的
間隔時間
的!(這個值是設(shè)置到數(shù)據(jù)庫中的),因為SimpleTriggerBean必須設(shè)置repeatInterval屬性,而這個值因為是保存在數(shù)據(jù)中的,所以我想設(shè)置兩個定時任務(wù)CMSTransformCRMTrigger和ScheduleInfoActionTrigger,ScheduleInfoActionTrigger在CMSTransformCRMTrigger任務(wù)執(zhí)行前觸發(fā):其目的是為CMSTransformCRMTrigger根據(jù)數(shù)據(jù)庫的值設(shè)置其repeatInterval屬性,配置文件如下:
<
bean
id
="CMSTransformCRMEngine"
class
="org.springframework.aop.framework.ProxyFactoryBean"
>
<
property
name
="targetSource"
>
<
bean
class
="org.springframework.aop.target.SingletonTargetSource"
>
<
constructor-arg
>
<
bean
class
="com.server.business.cms.CMSTransformCRMEngine"
/>
</
constructor-arg
>
</
bean
>
</
property
>
<
property
name
="interceptorNames"
>
<
list
>
<
value
>
CallContextInterceptor
</
value
>
</
list
>
</
property
>
</
bean
>
<
bean
id
="CMSTransformCRMJob"
class
="org.springframework.scheduling.quartz.JobDetailBean"
>
<
property
name
="jobClass"
>
<
value
>
com.wisecrm.server.business.cms.CMSTransformCRMScheduledTask
</
value
>
</
property
>
<
property
name
="jobDataAsMap"
>
<
map
>
<
entry
key
="cmsTranCRMEnginer"
>
<
ref
bean
="CMSTransformCRMEngine"
></
ref
>
</
entry
>
</
map
>
</
property
>
</
bean
>
<
bean
id
="CMSTransformCRMTrigger"
class
="org.springframework.scheduling.quartz.SimpleTriggerBean"
>
<
property
name
="jobDetail"
>
<
ref
bean
="CMSTransformCRMJob"
></
ref
>
</
property
>
<
property
name
="startDelay"
>
<
value
>
90000
</
value
>
</
property
>
<
property
name
="repeatInterval"
>
<
value
>
90000
</
value
>
</
property
>
</
bean
>
<
bean
id
="ScheduleInfoAction"
class
="com.wisecrm.server.business.cms.ScheduleInfoAction"
>
<
property
name
="dataSource"
ref
="DataSource"
/>
<
property
name
="scheduler"
ref
="schedulerFactory"
/>
</
bean
>
<
bean
id
="ScheduleInfoActionFactory"
class
="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
<
property
name
="targetObject"
ref
="ScheduleInfoAction"
/>
<
property
name
="targetMethod"
>
<
value
>
setTaskTimeByPreference
</
value
>
</
property
>
<!--
property name="arguments">
<list>
<ref local="DataSource"/>
<ref local="schedulerFactory"/>
</list>
</property
-->
<
property
name
="concurrent"
value
="false"
/>
</
bean
>
<
bean
id
="ScheduleInfoActionTrigger"
class
="org.springframework.scheduling.quartz.SimpleTriggerBean"
>
<
property
name
="jobDetail"
>
<
ref
bean
="ScheduleInfoActionFactory"
></
ref
>
</
property
>
<
property
name
="startDelay"
>
<
value
>
80000
</
value
>
</
property
>
<
property
name
="repeatInterval"
>
<
value
>
50000
</
value
>
</
property
>
</
bean
>
<
bean
id
="schedulerFactory"
class
="org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
<
property
name
="triggers"
>
<
list
>
<
ref
local
="CMSTransformCRMTrigger"
/>
<
ref
local
="ScheduleInfoActionTrigger"
/>
</
list
>
</
property
>
</
bean
>
ScheduleInfoAction是
動態(tài)設(shè)置間隔時間的接口:
public
class
ScheduleInfoAction
{
private Scheduler scheduler;
public
void
setTaskTimeByPreference()
throws
SchedulerException
{
if
(isStartCMSTransformCRMTask())
{
SimpleTriggerBean trigger
=
(SimpleTriggerBean) scheduler.getTrigger(
"
ScheduleInfoActionTrigger
",
Scheduler.DEFAULT_GROUP);
trigger.setRepeatInterval(Long.parseLong(Application.getSystemSettingService().getPrefValue(
"
CMSPeriod
")));
scheduler.rescheduleJob(
"
ScheduleInfoActionTrigger
",
Scheduler.DEFAULT_GROUP, trigger);
}
else
{
scheduler.shutdown();
}
}
public
boolean
isStartCMSTransformCRMTask()
{
return
Application.getSystemSettingService().getPrefValue(
"
CMSPeriod
"
)
!=
null
;
}
public
Scheduler getScheduler()
{
return scheduler;
}
public
void
setScheduler(Scheduler scheduler)
{
this
.scheduler
= scheduler;
}
}
但是不知為和兩個任務(wù)都不執(zhí)行?
后面我再在程序啟動時就通過ScheduleInfoAction的factoryBean
設(shè)置CMSTransformCRMTrigger其repeatInterval屬性,只保留一個定時任務(wù)就可以了,
配置如下:
<
bean
id
="ScheduleInfoAction"
class
="com.wisecrm.server.business.cms.ScheduleInfoAction"
>
<
property
name
="scheduler"
ref
="schedulerFactory"
/>
</
bean
>
<
bean
id
="ScheduleInfoActionFactory"
class
="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
<
property
name
="targetObject"
ref
="CMSTransformCRMEngine"
/>
<
property
name
="targetMethod"
>
<
value
>
run
</
value
>
</
property
>
<
property
name
="concurrent"
value
="false"
/>
</
bean
>
<
bean
id
="ScheduleInfoActionTrigger"
class
="org.springframework.scheduling.quartz.SimpleTriggerBean"
>
<
property
name
="jobDetail"
>
<
ref
bean
="ScheduleInfoActionFactory"
></
ref
>
</
property
>
<
property
name
="startDelay"
>
<
value
>
80000
</
value
>
</
property
>
<
property
name
="repeatInterval"
>
<
value
>
80000
</
value
>
</
property
>
</
bean
>
<
bean
id
="schedulerFactory"
class
="org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
<
property
name
="triggers"
>
<
list
>
<
ref
bean
="ScheduleInfoActionTrigger"
/>
</
list
>
</
property
>
</
bean
>
但總感覺到有點笨拙,你幫忙參考下,為什么repeatInterval不能通過繼承SimpleTriggerBean復(fù)寫getRepeatInterval方法去設(shè)置呢?
re: Spring Quartz如何動態(tài)配置時間(3)
boddi 2007-08-10 12:14
thrank you!
是這樣的,客戶有個需求是可以自己修改任務(wù)的
間隔時間
的!(這個值是設(shè)置到數(shù)據(jù)庫中的),因為SimpleTriggerBean必須設(shè)置repeatInterval屬性,而這個值因為是保存在數(shù)據(jù)中的,所以我想設(shè)置兩個定時任務(wù)CMSTransformCRMTrigger和ScheduleInfoActionTrigger,ScheduleInfoActionTrigger在CMSTransformCRMTrigger任務(wù)執(zhí)行前觸發(fā):其目的是為CMSTransformCRMTrigger根據(jù)數(shù)據(jù)庫的值設(shè)置其repeatInterval屬性,配置文件如下:
<
bean
id
="CMSTransformCRMEngine"
class
="org.springframework.aop.framework.ProxyFactoryBean"
>
<
property
name
="targetSource"
>
<
bean
class
="org.springframework.aop.target.SingletonTargetSource"
>
<
constructor-arg
>
<
bean
class
="com.server.business.cms.CMSTransformCRMEngine"
/>
</
constructor-arg
>
</
bean
>
</
property
>
<
property
name
="interceptorNames"
>
<
list
>
<
value
>
CallContextInterceptor
</
value
>
</
list
>
</
property
>
</
bean
>
<
bean
id
="CMSTransformCRMJob"
class
="org.springframework.scheduling.quartz.JobDetailBean"
>
<
property
name
="jobClass"
>
<
value
>
com.wisecrm.server.business.cms.CMSTransformCRMScheduledTask
</
value
>
</
property
>
<
property
name
="jobDataAsMap"
>
<
map
>
<
entry
key
="cmsTranCRMEnginer"
>
<
ref
bean
="CMSTransformCRMEngine"
></
ref
>
</
entry
>
</
map
>
</
property
>
</
bean
>
<
bean
id
="CMSTransformCRMTrigger"
class
="org.springframework.scheduling.quartz.SimpleTriggerBean"
>
<
property
name
="jobDetail"
>
<
ref
bean
="CMSTransformCRMJob"
></
ref
>
</
property
>
<
property
name
="startDelay"
>
<
value
>
90000
</
value
>
</
property
>
<
property
name
="repeatInterval"
>
<
value
>
90000
</
value
>
</
property
>
</
bean
>
<
bean
id
="ScheduleInfoAction"
class
="com.wisecrm.server.business.cms.ScheduleInfoAction"
>
<
property
name
="dataSource"
ref
="DataSource"
/>
<
property
name
="scheduler"
ref
="schedulerFactory"
/>
</
bean
>
<
bean
id
="ScheduleInfoActionFactory"
class
="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
<
property
name
="targetObject"
ref
="ScheduleInfoAction"
/>
<
property
name
="targetMethod"
>
<
value
>
setTaskTimeByPreference
</
value
>
</
property
>
<!--
property name="arguments">
<list>
<ref local="DataSource"/>
<ref local="schedulerFactory"/>
</list>
</property
-->
<
property
name
="concurrent"
value
="false"
/>
</
bean
>
<
bean
id
="ScheduleInfoActionTrigger"
class
="org.springframework.scheduling.quartz.SimpleTriggerBean"
>
<
property
name
="jobDetail"
>
<
ref
bean
="ScheduleInfoActionFactory"
></
ref
>
</
property
>
<
property
name
="startDelay"
>
<
value
>
80000
</
value
>
</
property
>
<
property
name
="repeatInterval"
>
<
value
>
50000
</
value
>
</
property
>
</
bean
>
<
bean
id
="schedulerFactory"
class
="org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
<
property
name
="triggers"
>
<
list
>
<
ref
local
="CMSTransformCRMTrigger"
/>
<
ref
local
="ScheduleInfoActionTrigger"
/>
</
list
>
</
property
>
</
bean
>
ScheduleInfoAction是
動態(tài)設(shè)置間隔時間的接口:
public
class
ScheduleInfoAction
{
private Scheduler scheduler;
public
void
setTaskTimeByPreference()
throws
SchedulerException
{
if
(isStartCMSTransformCRMTask())
{
SimpleTriggerBean trigger
=
(SimpleTriggerBean) scheduler.getTrigger(
"
ScheduleInfoActionTrigger
",
Scheduler.DEFAULT_GROUP);
trigger.setRepeatInterval(Long.parseLong(Application.getSystemSettingService().getPrefValue(
"
CMSPeriod
")));
scheduler.rescheduleJob(
"
ScheduleInfoActionTrigger
",
Scheduler.DEFAULT_GROUP, trigger);
}
else
{
scheduler.shutdown();
}
}
public
boolean
isStartCMSTransformCRMTask()
{
return
Application.getSystemSettingService().getPrefValue(
"
CMSPeriod
"
)
!=
null
;
}
public
Scheduler getScheduler()
{
return scheduler;
}
public
void
setScheduler(Scheduler scheduler)
{
this
.scheduler
= scheduler;
}
}
但是不知為和兩個任務(wù)都不執(zhí)行?
后面我再在程序啟動時就通過ScheduleInfoAction的factoryBean
設(shè)置CMSTransformCRMTrigger其repeatInterval屬性,只保留一個定時任務(wù)就可以了,
配置如下:
<
bean
id
="ScheduleInfoAction"
class
="com.wisecrm.server.business.cms.ScheduleInfoAction"
>
<
property
name
="scheduler"
ref
="schedulerFactory"
/>
</
bean
>
<
bean
id
="ScheduleInfoActionFactory"
class
="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
<
property
name
="targetObject"
ref
="CMSTransformCRMEngine"
/>
<
property
name
="targetMethod"
>
<
value
>
run
</
value
>
</
property
>
<
property
name
="concurrent"
value
="false"
/>
</
bean
>
<
bean
id
="ScheduleInfoActionTrigger"
class
="org.springframework.scheduling.quartz.SimpleTriggerBean"
>
<
property
name
="jobDetail"
>
<
ref
bean
="ScheduleInfoActionFactory"
></
ref
>
</
property
>
<
property
name
="startDelay"
>
<
value
>
80000
</
value
>
</
property
>
<
property
name
="repeatInterval"
>
<
value
>
80000
</
value
>
</
property
>
</
bean
>
<
bean
id
="schedulerFactory"
class
="org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
<
property
name
="triggers"
>
<
list
>
<
ref
bean
="ScheduleInfoActionTrigger"
/>
</
list
>
</
property
>
</
bean
>
但總感覺到有點笨拙,你幫忙參考下
re: javaexcelapplication
boddi 2007-06-07 15:35
其實excel的sheet不可以一個都沒有的
re: birt 2.0 is now available....占個頭位,宣傳一下
boddi 2006-09-06 07:36
導(dǎo)出excel如何進行?謝謝
re: spring、ibatis控制oracle分頁的問題
boddi 2006-08-31 18:21
SELECT wjbh,wjmc FROM (SELECT row_.*, rownum rownum_ FROM (select wjbh,wjmc,rownum rn from y_wjlx) row_ WHERE rownum <= #end#) WHERE rownum_ > #start#
在SQLSERVER中無法實現(xiàn)啊!請問SQLSERVER有何高招嗎?謝謝
re: spring、ibatis控制oracle分頁的問題
boddi 2006-08-30 14:05
SELECT wjbh,wjmc FROM (SELECT row_.*, rownum rownum_ FROM (select wjbh,wjmc,rownum rn from y_wjlx) row_ WHERE rownum <= #end#) WHERE rownum_ > #start#
中的select wjbh,wjmc,rownum rn from y_wjlx不會造成很大的效率問題嗎?
Powered by:
BlogJava
Copyright © boddi
日歷
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(10)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2007年8月 (1)
2007年3月 (1)
2006年10月 (1)
2006年9月 (9)
2006年8月 (13)
2006年7月 (2)
搜索
最新評論
1.?re: jxl實例
可以使用 ,xiexie
--insistdd
2.?re: 給我離開的勇氣!!![未登錄]
頂,支持
--jeff
3.?re: attachEvent() / addEventListener() 對象添加觸發(fā)事件(轉(zhuǎn))
謝謝,轉(zhuǎn)了。
--Felix021
4.?re: 給我離開的勇氣!!!
是的,謝謝
--boddi
5.?re: 給我離開的勇氣!!![未登錄]
當(dāng)然是去迎接狂風(fēng)暴雨啦,天下何處無芳草
--zolly
閱讀排行榜
1.?jxl實例(7010)
2.?attachEvent() / addEventListener() 對象添加觸發(fā)事件(轉(zhuǎn))(5582)
3.?使用JXL讀取Excel表格,拷貝、更新Excel工作薄(2970)
4.?Java RMI Tutorial(2123)
5.? iframe詳解(1107)
評論排行榜
1.?jxl實例(5)
2.?給我離開的勇氣!!!(3)
3.?javaexcelapplication(3)
4.?2007最新騙局:(2)
5.?Java RMI Tutorial(1)
主站蜘蛛池模板:
亚洲男人都懂得羞羞网站
|
亚洲午夜福利AV一区二区无码
|
国产真实伦在线视频免费观看
|
四虎永久在线精品免费影视
|
亚洲成A人片在线观看中文
|
亚洲精品无码激情AV
|
亚洲AV无码一区二区三区系列
|
亚洲大香人伊一本线
|
亚洲AV日韩AV永久无码色欲
|
国产精品玖玖美女张开腿让男人桶爽免费看
|
一级毛片在线播放免费
|
日本高清免费观看
|
97免费人妻无码视频
|
日本中文一区二区三区亚洲
|
亚洲国产第一页www
|
亚洲高清有码中文字
|
一级人做人a爰免费视频
|
一级毛片免费观看不卡视频
|
成人免费视频小说
|
亚洲色成人网站WWW永久
|
亚洲日产2021三区在线
|
深夜a级毛片免费无码
|
伊人久久免费视频
|
日本19禁啪啪无遮挡免费动图
|
亚洲色精品88色婷婷七月丁香
|
亚洲一区动漫卡通在线播放
|
一级毛片不卡免费看老司机
|
国产精品成人观看视频免费
|
亚洲国产精品一区二区九九
|
亚洲资源在线视频
|
全部在线播放免费毛片
|
最近免费中文字幕大全高清大全1
|
暖暖免费高清日本中文
|
久久久综合亚洲色一区二区三区
|
亚洲JIZZJIZZ妇女
|
色欲色香天天天综合网站免费
|
国产精品免费电影
|
亚洲男人天堂影院
|
国产精品免费久久久久久久久
|
无限动漫网在线观看免费
|
精品国产_亚洲人成在线高清
|