如何使用 Quartz 在作业中获取不可序列化的变量?

How to get a non-serializable variable on a job using Quartz?

我正在尝试在我的工作中访问一个不可序列化的对象,但到目前为止我没有运气。这是我的代码到目前为止的样子

>   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 不知道这个注释,所以我试图做的是创建一个抽象 class (AbstractJob) 扩展 QuartzJobBean 并在其上创建一个可以检索的方法一个存储的对象 (getObject),但它总是空的。考虑到它是一个不可序列化的对象,有人知道我如何能够从 "myObject" 获取此信息吗?

提前致谢!

我找到了这个答案 Custom Object parameters within Jobs using Quartz-scheduler,并且创建了我自己的工作工厂使得可以访问这个对象。