newJob的用法是这样的:我是否可以在班级上班并设置一些值?
newJob(ConnectorScheduler.class)
但我也想设置一些春天的JdbcTemplate上ConnectorScheduler的情况下,是可行的?
基本上我想要做
job=new ConnectorScheduler();
job.setJdbcTemplate(jdbcTemplate);
newJob(job);
newJob的用法是这样的:我是否可以在班级上班并设置一些值?
newJob(ConnectorScheduler.class)
但我也想设置一些春天的JdbcTemplate上ConnectorScheduler的情况下,是可行的?
基本上我想要做
job=new ConnectorScheduler();
job.setJdbcTemplate(jdbcTemplate);
newJob(job);
是的,但你可以传递参数给作业(和触发器),但在石英必须使用JobDataMap结构的工作原理是这样:
job=new ConnectorScheduler();
job.getJobDataMap().put("param1", "123");
newJob(job);
对于数字(以及其他非字符串值),您可以使用:
job.getJobDataMap().putAsString("param1", 123);
对不起,如果我想使用一些对象,而不是int或字符串等。看起来像getJobDataMap只能使用string/int。 – 2014-12-02 12:37:35
您不想在JobDataMap中存储非原始对象以避免各种序列化问题。详情请参阅http://quartz-scheduler.org/documentation/best-practices。如果你想存储非原始数据类型,你通常可以将它们表示为字符串(例如JSON,XML等)。然后,您可以轻松处理您的序列化器/解串器中的对象版本,例如通过在字符串中嵌入版本号。 – 2014-12-02 12:54:51
问题出在我需要访问jdbcTemplate的工作中,所以没有简单的方法来代替创建jdbcTemplate的许多代码? – 2014-12-02 13:02:05
我看到您是试用版ng与Spring一起使用Quartz,为什么不花一些时间阅读关于这个主题的Spring文档? :) http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html – 2014-12-02 13:06:09