我正在尝试访问我的工作中的非序列化对象,但到目前为止我没有运气。这是我的代码到目前为止的样子
> public class ExecuteJob extends AbstractJob {
public static String REQUEST_NAME = "request";
private Request request;
@Autowired
MyObject myObject;
@Override
public void executeInternal(JobExecutionContext context) {
JobDataMap data = context.getJobDetail().getJobDataMap();
request = (Request) data.get(REQUEST_NAME);
System.out.println(myObject);
// Second way that I tried
System.out.println(this.getObject());
}
}
您在上面看到的代码只是我尝试从" myObject"获取信息的一个示例。我意识到我无法从Autowired对象获取信息,因为Quartz不知道这个注释,所以我尝试做的是创建一个抽象类(AbstractJob),它扩展QuartzJobBean并在其上创建一个可以检索存储对象的方法( getObject),但它总是空的。任何人都知道如何从" myObject"中获取这些信息。考虑到它是一个不可序列化的对象?
提前致谢!
答案 0 :(得分:0)
我找到了这个答案Custom Object parameters within Jobs using Quartz-scheduler,并且创建我自己的工作工厂使得可以访问这个对象。