0

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

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

提前致谢!

4

1 回答 1

0

我使用 Quartz-scheduler 在 Jobs 中找到了这个答案Custom Object parameters,并创建了我自己的作业工厂使得可以访问这个对象成为可能。

于 2017-06-14T13:10:52.057 回答