2012-12-06 09:40题主

计划任务中如何传递外部参数?

一些外部的变量,如类型、日期信息等需要传递到任务中,并把任务中返回的信息写回到变量中。
2012-12-06 12:44#1
使用静态类Var、Value、Resource等都可以啊,文档中有详细描述。另外你也可以使用文件、数据库表等存储参数。
例:
public class MyJob implements Job {
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        long start = System.currentTimeMillis();
        Connection conn = null;
        PreparedStatement st = null;

        try {
            String myValue=Value.get('my.app.value');//Get Value
            Value.set('my.app.value','any value');//Set Value

            conn = DbUtil.getConnection();
            st = conn.prepareStatement("delete from WB_LOG where LOG_DATE < ?");
            st.setTimestamp(1, new Timestamp(DateUtil.incDay(new Date(),
                    -Var.getInt("webbuilder.task.logDays")).getTime()));
            st.executeUpdate();
            LogUtil.message(context, start);
        } catch (Throwable e) {
            LogUtil.error(context, start, e);
        } finally {
            DbUtil.closeStatement(st);
            DbUtil.closeConnection(conn);
        }
    }
}
2012-12-06 12:51#2
谢谢,很方便
2013-11-26 15:43#3
如果两个用户都要访问并且修改该变量  存在数据库的不是会互相影响么?
2013-11-27 09:08#4
可以使用用户独立的变量:

返回开发者社区