亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? schedulejob.java

?? 一個很好實用的工作流OSWORKFLOW開發例子.有著非常優秀的靈活性.
?? JAVA
字號:
/* * Copyright (c) 2002-2003 by OpenSymphony * All rights reserved. *//* * Created by IntelliJ IDEA. * User: plightbo * Date: May 22, 2002 * Time: 4:05:53 PM */package com.opensymphony.workflow.util;import com.opensymphony.module.propertyset.PropertySet;import com.opensymphony.util.TextUtils;import com.opensymphony.workflow.FunctionProvider;import com.opensymphony.workflow.WorkflowContext;import com.opensymphony.workflow.spi.WorkflowEntry;import com.opensymphony.workflow.timer.LocalWorkflowJob;import com.opensymphony.workflow.timer.WorkflowJob;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.quartz.*;import org.quartz.impl.StdSchedulerFactory;import java.util.Date;import java.util.Map;/** * Schedules a job in the Quartz job scheduler to be executed one or more times in the future. * The following arguments are required: * * <ul> *  <li> triggerId - the id of the trigger function defined in the XML workflow *  <li> jobName - the name to be given to the job *  <li> triggerName - the name to be given to the trigger *  <li> groupName - the group given to both the job and the trigger * </ul> * * The following arguments are optional: * <ul> *  <li> username - the system account's username that will execute the function in the future. * If this is not specified value from WorkflowContext.getCaller() is used *  <li> password - the system account's password *  <li> local - if set to the true, a LocalWorkflowJob is used, bypassing the need for SOAP support. * Will be ignored if "workflowClass" is specified. * <li> jobClass - the class implementing 'Job' to run, defaults to WorkflowJob. If not specified, * defaults to either a WorkflowJob or a LocalWorkflowJob if "local" is set to true. *  <li>schedulerName - the name of an existing scheduler to use</li> *  <li>schdulerStart - if "true", start the scheduler if it hasn't been started already</li> *  <li>txHack - set this to true if you are getting lockups while running with transactions (defaults to false)</li> * </ul> * * If you are using a cron trigger, the following is required: * <ul> *  <li> cronExpression - the Cron expression * </ul> * * If you are using a simple trigger, the follow are all optional: * <ul> *  <li> startOffset - the offset, in milliseconds, from the current time. (default is 0) *  <li> endOffset - the offset, in milliseconds, from the current time. (default is infinity) *  <li> repeat - the repeat count (default is 0). Can also be REPEAT_INDEFINITELY *  <li> repeatDelay - the time delay, in milliseconds, between repeats (default is 0) * </ul> * * @author <a href="mike.g.slack@usahq.unitedspacealliance.com ">Michael G. Slack</a> * @author <a href="mailto:plightbo@hotmail.com">Pat Lightbody</a> */public class ScheduleJob implements FunctionProvider {    //~ Static fields/initializers /////////////////////////////////////////////    private static final Log log = LogFactory.getLog(ScheduleJob.class);    //~ Methods ////////////////////////////////////////////////////////////////    public void execute(Map transientVars, Map args, PropertySet ps) {        try {            WorkflowEntry entry = (WorkflowEntry) transientVars.get("entry");            WorkflowContext context = (WorkflowContext) transientVars.get("context");            log.info("Starting to schdule job for WF #" + entry.getId());            int triggerId = TextUtils.parseInt((String) args.get("triggerId"));            String jobName = (String) args.get("jobName");            String triggerName = (String) args.get("triggerName");            String groupName = (String) args.get("groupName");            String username = (String) args.get("username");            String password = (String) args.get("password");            boolean txHack = TextUtils.parseBoolean((String) args.get("txHack"));            if (username == null) {                username = context.getCaller();            }            String cronExpression = (String) args.get("cronExpression");            jobName = jobName + ":" + entry.getId();            triggerName = triggerName + ":" + entry.getId();            groupName = groupName + ":" + entry.getId();            String schedulerName = (String) args.get("schedulerName");            Scheduler s;            SchedulerFactory factory = new StdSchedulerFactory();            if ((schedulerName == null) || "".equals(schedulerName.trim())) {                s = factory.getScheduler();            } else {                s = factory.getScheduler(schedulerName);            }            if (TextUtils.parseBoolean((String) args.get("schedulerStart"))) {                log.info("Starting Quartz Job Scheduler");                s.start();            }            Class jobClass;            String jobClassArg = (String) args.get("jobClass");            if (jobClassArg != null) {                jobClass = Class.forName(jobClassArg);            } else if (TextUtils.parseBoolean((String) args.get("local"))) {                jobClass = LocalWorkflowJob.class;            } else {                jobClass = WorkflowJob.class;            }            JobDetail jobDetail = new JobDetail(jobName, groupName, jobClass);            Trigger trigger;            if (cronExpression == null) {                long now = System.currentTimeMillis();                // get start date - default is now                Date startDate = null;                try {                    String start = (String) args.get("startOffset");                    if (s != null) {                        startDate = new Date(now + Long.parseLong(start));                    }                } catch (NumberFormatException e) {                }                if (startDate == null) {                    startDate = new Date(now);                }                // get end date - default is null                Date endDate = null;                try {                    String end = (String) args.get("endOffset");                    if (s != null) {                        startDate = new Date(now + Long.parseLong(end));                    }                } catch (NumberFormatException e) {                }                // get the repeat amount - default is 0                int repeat = 0;                try {                    String r = (String) args.get("repeat");                    if (r != null) {                        if (r.equalsIgnoreCase("REPEAT_INDEFINITELY")) {                            repeat = SimpleTrigger.REPEAT_INDEFINITELY;                        } else {                            repeat = TextUtils.parseInt(r);                        }                    }                } catch (NumberFormatException e) {                }                // get repeat delay - default is 0                long delay = 0;                try {                    String rd = (String) args.get("repeatDelay");                    if (rd != null) {                        delay = Long.parseLong(rd);                    }                } catch (NumberFormatException e) {                }                trigger = new SimpleTrigger(triggerName, groupName, jobName, groupName, startDate, endDate, repeat, delay);            } else {                trigger = new CronTrigger(triggerName, groupName, jobName, groupName, cronExpression);            }            JobDataMap dataMap = new JobDataMap();            dataMap.put("triggerId", triggerId);            dataMap.put("entryId", entry.getId());            dataMap.put("username", username);            dataMap.put("password", password);            if (TextUtils.parseBoolean((String) args.get("local"))) {                dataMap.put("configuration", transientVars.get("configuration"));            }            jobDetail.setJobDataMap(dataMap);            jobDetail.setDurability(true);            trigger.setJobName(jobDetail.getName());            trigger.setJobGroup(jobDetail.getGroup());            if (txHack && !s.isPaused() && !s.isShutdown()) {                s.pause();                try {                    s.addJob(jobDetail, true);                    s.scheduleJob(trigger);                } catch (SchedulerException e) {                    throw e;                } finally {                    s.start();                }            } else {                s.addJob(jobDetail, true);                s.scheduleJob(trigger);            }            log.info("Job scheduled");        } catch (Exception e) {            log.error("Error scheduling job", e);        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品免费视频.| 五月天激情综合| 午夜在线电影亚洲一区| 韩国v欧美v日本v亚洲v| 在线观看亚洲a| 国产亚洲精久久久久久| 日韩激情一区二区| 日本韩国一区二区三区| 中文字幕成人在线观看| 黄色日韩三级电影| 91.xcao| 亚洲综合在线视频| www.欧美日韩国产在线| 久久久久久久久免费| 久久精品99国产精品| 91麻豆精品国产91久久久 | 日本不卡1234视频| 欧美午夜精品久久久久久超碰| 国产精品午夜春色av| 国产精品自在欧美一区| 久久久五月婷婷| 国产美女娇喘av呻吟久久| 日韩一区二区精品| 九色porny丨国产精品| 日韩欧美综合一区| 久久电影网电视剧免费观看| 日韩三级视频在线看| 另类小说色综合网站| 欧美mv日韩mv亚洲| 国产乱码精品1区2区3区| 精品国产91乱码一区二区三区| 奇米色777欧美一区二区| 欧美一级专区免费大片| 久久成人免费网| 欧美精品一区在线观看| 国产福利一区二区三区| 日本一区二区不卡视频| 97国产精品videossex| 依依成人精品视频| 欧美日韩久久一区| 日本不卡视频一二三区| 久久久91精品国产一区二区精品| 国产风韵犹存在线视精品| 国产精品人妖ts系列视频| 99精品欧美一区二区三区小说| 亚洲精品免费电影| 欧美一级日韩一级| 国产成人自拍网| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲欧美另类小说| 欧美日韩国产高清一区二区三区| 奇米色一区二区| 中文字幕成人网| 欧美性大战久久久| 精品一区二区三区免费视频| 国产精品免费看片| 欧美日韩久久一区| 国产一区二区美女诱惑| 亚洲另类在线视频| 日韩欧美中文字幕制服| 成人app网站| 日韩va欧美va亚洲va久久| 久久久久国产成人精品亚洲午夜| 色哟哟一区二区在线观看| 日韩精品一级二级| 国产精品天干天干在观线| 欧美日韩在线综合| 国产jizzjizz一区二区| 午夜私人影院久久久久| 国产人伦精品一区二区| 欧美群妇大交群中文字幕| 国产成人丝袜美腿| 首页国产欧美久久| 国产精品进线69影院| 日韩三级在线免费观看| 日本精品视频一区二区三区| 激情av综合网| 亚洲电影一级片| 国产精品国产自产拍高清av王其 | 国产一区二区三区日韩 | 欧美一区二区视频在线观看| bt欧美亚洲午夜电影天堂| 日本视频免费一区| 亚洲男人都懂的| 日本一区二区久久| 精品美女在线播放| 欧美日韩国产综合一区二区三区| 成人自拍视频在线| 韩国av一区二区三区四区| 天堂影院一区二区| 亚洲一区免费视频| 1024精品合集| 中文字幕欧美日本乱码一线二线| 91精品国产91综合久久蜜臀| 91传媒视频在线播放| 99麻豆久久久国产精品免费| 精品制服美女丁香| 欧美aaaaa成人免费观看视频| 亚洲一卡二卡三卡四卡五卡| 亚洲品质自拍视频网站| 国产精品久久久久9999吃药| 国产日韩欧美精品在线| 亚洲精品一区二区三区福利| 欧美成人一区二区三区在线观看| 欧美日韩高清在线播放| 欧美性猛片aaaaaaa做受| 色香蕉久久蜜桃| 色婷婷久久久亚洲一区二区三区| 播五月开心婷婷综合| caoporm超碰国产精品| 成人久久视频在线观看| 国产69精品一区二区亚洲孕妇| 国产精品系列在线观看| 国产精品99久久久久久久女警| 国产一区在线视频| 国产一区二区三区久久悠悠色av| 国产一区二区0| 丁香婷婷综合网| 99久久精品国产一区二区三区| 成人少妇影院yyyy| 99久久综合狠狠综合久久| 色婷婷亚洲婷婷| 欧美艳星brazzers| 91精品欧美福利在线观看| 日韩视频中午一区| 国产欧美一区二区三区鸳鸯浴| 中文字幕va一区二区三区| 亚洲色图在线播放| 亚洲电影一区二区三区| 午夜久久久久久久久久一区二区| 日本不卡一区二区三区高清视频| 麻豆91免费观看| 国产精品911| 99久久99久久免费精品蜜臀| 欧美日韩一区不卡| 欧美成人一区二区三区片免费| 亚洲另类中文字| 偷拍亚洲欧洲综合| 精品在线一区二区三区| 成人黄色在线网站| 欧美日韩一区二区在线视频| 精品入口麻豆88视频| 国产精品看片你懂得| 婷婷丁香激情综合| 国产宾馆实践打屁股91| 欧美性色综合网| 久久精品夜夜夜夜久久| 一区二区三区四区国产精品| 成人黄页毛片网站| 欧美日韩国产乱码电影| 国产亚洲综合av| 亚洲福中文字幕伊人影院| 韩国精品免费视频| 在线视频欧美精品| 久久精品日产第一区二区三区高清版| 国产精品女主播在线观看| 欧美激情资源网| 亚洲色图丝袜美腿| 久久成人羞羞网站| 欧美日韩一区二区三区四区| 欧美国产激情一区二区三区蜜月| 亚洲午夜久久久久久久久电影院| 国产成人综合亚洲91猫咪| 欧美电影一区二区三区| 亚洲色图在线播放| 国产成人小视频| 日韩免费观看高清完整版 | 亚洲精品一区二区三区香蕉| 一区二区三区视频在线看| 国产成人综合在线| 日韩精品一区二区三区在线| 亚洲图片有声小说| 99麻豆久久久国产精品免费| 久久久一区二区| 久久精品免费观看| 欧美日韩一区二区三区四区| 亚洲免费观看高清完整版在线| 国产乱人伦精品一区二区在线观看| 欧美肥大bbwbbw高潮| 亚洲精品国产a久久久久久| 国产精品夜夜嗨| 精品日韩av一区二区| 天天做天天摸天天爽国产一区 | 国产成人av电影在线播放| 日韩欧美你懂的| 日本大胆欧美人术艺术动态| 欧美三级中文字幕在线观看| 亚洲桃色在线一区| 91玉足脚交白嫩脚丫在线播放| 国产三级精品视频| 国产不卡免费视频| 国产欧美精品一区aⅴ影院| 国产一区二区三区精品视频| 久久综合资源网| 国产麻豆精品theporn| 久久久综合激的五月天| 国内久久婷婷综合| 久久久三级国产网站| 国产丶欧美丶日本不卡视频| 精品国产sm最大网站|