NutzCN Logo
问答 quart的job如何取到ioc
发布于 40天前 作者 老司机 62 次浏览 复制 上一个帖子 下一个帖子
标签: quartz

其实想在job里面去properties里面的配置的,结果连ioc都取不到,因为是不同线程所以取不到,那我想哪怎么办???

package com.ccb.znyw_batch.quartz.job;

import org.nutz.ioc.impl.PropertiesProxy;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.Files;
import org.nutz.mvc.Mvcs;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import java.io.File;

@IocBean
public class SubmitJob implements Job {


    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        try {
            PropertiesProxy conf = Mvcs.getIoc().get(PropertiesProxy.class, "conf");
            String path = conf.get("scan.folder");
            System.out.println(path);
            File folder = new File(path);
            File[] data = Files.files(folder, "dat");
            for (File file : data) {
                System.out.println(Files.read(file));
            }
            System.out.println("执行任务");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

5 回复

用quartz插件也没这个烦恼

@wendal 有啊,我就是quart插件里面的job不知道怎么哪properties的值

@wendal 我看了非Mvc环境下获取ioc的方法,能不能再简洁点,哪怕不要ioc我只要properties里面的值

仔细看文档,就2行代码,MainSetup用个变量存一下,其他地方随便取

添加回复
请先登陆
回到顶部