我只是用kotlin和spring Boot实现quartz调度器。
Full Error Log : For reference
21:02:00.037 [DatabaseScheduler_Worker-1] ERROR org.quartz.core.JobRunShell - Job commentJobGroup.commentJob threw an unhandled Exception:
kotlin.UninitializedPropertyAccessException: lateinit property userController has not been initialized
at com.lovevirus.kotlinQuartzScheduler.scheduler.Jobs.CommentJob.getUserController(CommentJob.kt:17)
at com.lovevirus.kotlinQuartzScheduler.scheduler.Jobs.CommentJob.execute(CommentJob.kt:21)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
21:02:00.038 [DatabaseScheduler_Worker-1] ERROR org.quartz.core.ErrorLogger - Job (commentJobGroup.commentJob threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception.
at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: kotlin.UninitializedPropertyAccessException: lateinit property userController has not been initialized
at com.lovevirus.kotlinQuartzScheduler.scheduler.Jobs.CommentJob.getUserController(CommentJob.kt:17)
at com.lovevirus.kotlinQuartzScheduler.scheduler.Jobs.CommentJob.execute(CommentJob.kt:21)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
... 1 common frames omitted
import org.quartz.Job
import org.quartz.JobExecutionContext
import org.springframework.stereotype.Component
import com.lovevirus.kotlinQuartzScheduler.controller.UserController;
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
@Component
class CommentJob : Job {
private val logger: Logger = LoggerFactory.getLogger(CommentJob::class.java)
@Autowired
lateinit var userController : UserController;
override fun execute(p0: JobExecutionContext?) {
logger.debug("Inside Comment Job");
userController.getUser();
logger.debug("End Comment Job");
}
}
Thanks in advance
您是否实现了一个自定义的SpringBeanJobFactory
,它将允许依赖项自动化?
class AutowiringSpringBeanJobFactory : SpringBeanJobFactory(), ApplicationContextAware {
@Transient
private var beanFactory: AutowireCapableBeanFactory? = null
override fun setApplicationContext(applicationContext: ApplicationContext) {
beanFactory = applicationContext.autowireCapableBeanFactory
}
override fun createJobInstance(bundle: TriggerFiredBundle): Any {
val job = super.createJobInstance(bundle)
beanFactory!!.autowireBean(job)
return job
}
}
我面临QuartzScheduler触发器定义的问题。 2019年2月28日星期四16:27:30 IST:开始时间 0/20 0 0 ? * * * Cron表达式 2019年2月28日星期四16:29:30 IST结束时间 触发器schedulerAdderTrigger=触发器生成器。newTrigger()。withIdentity(触发键)。startAt(schedulerdata.g
问题内容: 我不明白注释和之间的实际区别是什么? 扩展名还是它们具有完全不同的含义?什么时候应该使用它们?在服务层中使用Spring ,在DAO 中使用javax? 谢谢回答。 问题答案: 几年前,Spring定义了自己的Transactional注释以使Spring bean方法具有事务性。 Java EE 7终于做了同样的事情,现在除了EJB方法外,还允许CDI bean方法是事务性的。因此,
主要内容:前言,粘包,拆包前言 粘包问题:一个请求里面带有多个响应,多个消息粘再一起给你发送回来; 拆包问题:一个消息拆成多个请求发送回来; 粘包 其中 一直递归调用,最终处理粘包问题核心代码 拆包 50生产者|60如何处理 有两种地方可能会发生拆包: 消息体的size 消息体 1. 消息体的size 2. 消息体
为什么在例子中调用 time.sleep() 不会并发执行? 我的代码是异步的, 但它不能在两个浏览器标签页上并行运行. Many people’s first foray into Tornado’s concurrency looks something like this: class BadExampleHandler(RequestHandler): def get(self):
问题内容: 我只是开始玩GWT,我很难让GWT + JAVA + JDO + Google AppEngine与DataStore一起工作。我试图按照不同的教程学习,但是没有运气。例如,我喜欢这些教程:TUT1 TUT2 我无法弄清楚如何才能完成这项工作。请查看我的简单代码,并告诉我需要做什么,以便可以将其持久保存到数据存储区: 1.地址实体 2.个人实体 3. RPCCalls 4. RPCCa
我试图通过docker-compose文件部署kafka,或者通过安装kafka映像并手动运行它。当我开始运行kafka服务器(代理)时,这两个步骤都给我带来了错误 INFO初始化客户端连接,connectString=188.226.151.167:2181 sessiontimeout=6000 watcher=org.i0itec.zkclient.zkclient@323b36e0(org
我需要调用MySQL存储过程从我的python脚本。作为参数之一,我传递一个Unicode字符串(俄语),但我得到一个错误; UnicodeEncodeError:“latin-1”编解码器无法对位置0-1中的字符进行编码:序号不在范围(256)内 我的脚本: 我已经读过设置可以解决这个问题,但是当我使用字符串时: 这给了我另一个错误; UnicodeEncodeError:'utf-8'编解码器
谢谢大家,我成功了!我不得不装上一个开关 我是编码新手,不明白为什么我的代码不起作用。我想将所有三个按钮组合在一种方法下,android工作室向我显示所有内容都是无误编写的,但是当我运行应用程序时,它会立即关闭。 这是Bug Code 05-16 12:43:06.874 8223-8223/java.lang.reflect.Method.invokeE/AndroidRuntime: FATA