Advertisement
Guest User

Untitled

a guest
Jan 4th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.19 KB | None | 0 0
  1. 2017-03-21 15:57:42.817 INFO 12069 --- [o-8080-exec-178] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'QuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
  2. 2017-03-21 15:57:42.817 INFO 12069 --- [o-8080-exec-178] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.2.1
  3. org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'myDs': java.sql.SQLException: There is no DataSource named 'myDs' [See nested exception: java.sql.SQLException: There is no DataSource named 'myDs']]
  4. at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:692)
  5. at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:567)
  6. at org.quartz.impl.StdScheduler.start(StdScheduler.java:142)
  7. at com.example.controller.StudentController.getAllStudents(StudentController.java:62)
  8. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  9. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  10. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  11. at java.lang.reflect.Method.invoke(Method.java:498)
  12. at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
  13. at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
  14. at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)
  15. at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
  16. at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
  17. at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
  18. at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
  19. at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
  20. at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
  21. at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
  22. at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
  23. at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
  24. at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
  25. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
  26. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
  27. at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
  28. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
  29. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
  30. at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
  31. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
  32. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
  33. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
  34. at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105)
  35. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
  36. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
  37. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
  38. at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)
  39. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
  40. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
  41. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
  42. at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
  43. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
  44. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
  45. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
  46. at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:115)
  47. at org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:59)
  48. at org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:90)
  49. at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
  50. at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:108)
  51. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
  52. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
  53. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
  54. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
  55. at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
  56. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
  57. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
  58. at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
  59. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
  60. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
  61. at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
  62. at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
  63. at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
  64. at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
  65. at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
  66. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  67. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  68. at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  69. at java.lang.Thread.run(Thread.java:745)
  70. Caused by: org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'myDs': java.sql.SQLException: There is no DataSource named 'myDs' [See nested exception: java.sql.SQLException: There is no DataSource named 'myDs']
  71. at org.quartz.impl.jdbcjobstore.JobStoreSupport.getConnection(JobStoreSupport.java:778)
  72. at org.quartz.impl.jdbcjobstore.JobStoreTX.getNonManagedTXConnection(JobStoreTX.java:71)
  73. at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3784)
  74. at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverJobs(JobStoreSupport.java:834)
  75. at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:690)
  76. ... 65 more
  77. Caused by: java.sql.SQLException: There is no DataSource named 'myDs'
  78. at org.quartz.utils.DBConnectionManager.getConnection(DBConnectionManager.java:104)
  79. at org.quartz.impl.jdbcjobstore.JobStoreSupport.getConnection(JobStoreSupport.java:775)
  80. ... 69 more
  81.  
  82. #============================================================================
  83. # Configure Main Scheduler Properties
  84. #============================================================================
  85.  
  86. org.quartz.scheduler.instanceId = AUTO
  87. org.quartz.scheduler.makeSchedulerThreadDaemon = true
  88.  
  89. #============================================================================
  90. # Configure ThreadPool
  91. #============================================================================
  92.  
  93. org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
  94. org.quartz.threadPool.makeThreadsDaemons = true
  95. org.quartz.threadPool.threadCount: 20
  96. org.quartz.threadPool.threadPriority: 5
  97.  
  98. #============================================================================
  99. # Configure JobStore
  100. #============================================================================
  101.  
  102. org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
  103. org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
  104. org.quartz.jobStore.dataSource = myDs
  105. org.quartz.jobStore.tablePrefix = QRTZ_
  106. org.quartz.jobStore.isClustered = false
  107. org.quartz.jobStore.dataSource = myDs
  108. org.quartz.jobStore.misfireThreshold = 25000
  109.  
  110.  
  111. #============================================================================
  112. # Configure DataSources
  113. #============================================================================
  114.  
  115. org.quartz.dataSource.myDS.driver = com.mysql.jdbc.Driver
  116. org.quartz.dataSource.myDS.URL = jdbc:mysql://localhost:3306/quartz
  117. org.quartz.dataSource.myDS.user = root
  118. org.quartz.dataSource.myDS.password = root
  119. org.quartz.dataSource.myDS.maxConnections = 5
  120. org.quartz.dataSource.myDS.validationQuery = select 1
  121.  
  122. #disbale Spring banner
  123. spring.main.banner-mode=off
  124.  
  125. # Loads SQL scripts? schema.sql and data.sql
  126. #spring.datasource.initialize=true
  127.  
  128. spring.datasource.url=jdbc:mysql://localhost:3306/career_focus
  129. spring.datasource.username=root
  130. spring.datasource.password=root
  131. spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  132.  
  133. quartz.enabled=true
  134.  
  135. # HikariCP settings
  136. # spring.datasource.hikari.*
  137.  
  138. #60 sec
  139. spring.datasource.hikari.connection-timeout=60000
  140. # max 5
  141. spring.datasource.hikari.maximum-pool-size=5
  142.  
  143. JobDetail detail = JobBuilder.newJob().ofType(JobRunner.class).withIdentity("jobName123", "jobGroup123")
  144. .storeDurably().withDescription("Invoke Sample Job service...").build();
  145.  
  146. String cronExpr = "0/10 * * * * ?";
  147. try {
  148. Scheduler scheduler = new StdSchedulerFactory().getScheduler();
  149. Trigger trigger = TriggerBuilder.newTrigger()
  150. .withIdentity("trigger3", "group1")
  151. .withSchedule(CronScheduleBuilder.cronSchedule(cronExpr))
  152. .forJob("jobName123", "jobGroup123")
  153. .build();
  154. scheduler.start();
  155. scheduler.scheduleJob(detail, trigger);
  156. } catch (SchedulerException e) {
  157. // TODO Auto-generated catch block
  158. e.printStackTrace();
  159. }
  160.  
  161. @Configuration
  162. @ConditionalOnProperty(name = "quartz.enabled")
  163. public class SchedulerConfig {
  164. //
  165. // @Autowired
  166. // List<Trigger> listOfTrigger;
  167.  
  168. @Bean
  169. public JobFactory jobFactory(ApplicationContext applicationContext) {
  170. AutowiringSpringBeanJobFactory jobFactory = new AutowiringSpringBeanJobFactory();
  171. jobFactory.setApplicationContext(applicationContext);
  172. return jobFactory;
  173. }
  174.  
  175. @Bean
  176. public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource, JobFactory jobFactory) throws IOException {
  177. SchedulerFactoryBean factory = new SchedulerFactoryBean();
  178. factory.setOverwriteExistingJobs(true);
  179. factory.setAutoStartup(true);
  180. factory.setDataSource(dataSource);
  181. factory.setJobFactory(jobFactory);
  182. factory.setQuartzProperties(quartzProperties());
  183. // Here we will set all the trigger beans we have defined.
  184. // if (!AppUtil.isObjectEmpty(listOfTrigger)) {
  185. // factory.setTriggers(listOfTrigger.toArray(new
  186. // Trigger[listOfTrigger.size()]));
  187. // }
  188.  
  189. return factory;
  190. }
  191.  
  192. @Bean
  193. public Properties quartzProperties() throws IOException {
  194. PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean();
  195. propertiesFactoryBean.setLocation(new ClassPathResource("/quartz.properties"));
  196. propertiesFactoryBean.afterPropertiesSet();
  197. return propertiesFactoryBean.getObject();
  198. }
  199.  
  200. public static SimpleTriggerFactoryBean createTrigger(JobDetail jobDetail, long pollFrequencyMs) {
  201. SimpleTriggerFactoryBean factoryBean = new SimpleTriggerFactoryBean();
  202. factoryBean.setJobDetail(jobDetail);
  203. factoryBean.setStartDelay(0L);
  204. factoryBean.setRepeatInterval(pollFrequencyMs);
  205. factoryBean.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
  206. // in case of misfire, ignore all missed triggers and continue :
  207. factoryBean.setMisfireInstruction(SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT);
  208. return factoryBean;
  209. }
  210.  
  211. // Use this method for creating cron triggers instead of simple triggers:
  212. public static CronTriggerFactoryBean createCronTrigger(JobDetail jobDetail, String cronExpression) {
  213. CronTriggerFactoryBean factoryBean = new CronTriggerFactoryBean();
  214. factoryBean.setJobDetail(jobDetail);
  215. factoryBean.setCronExpression(cronExpression);
  216. factoryBean.setMisfireInstruction(SimpleTrigger.MISFIRE_INSTRUCTION_FIRE_NOW);
  217. return factoryBean;
  218. }
  219.  
  220. public static JobDetailFactoryBean createJobDetail(Class jobClass) {
  221. JobDetailFactoryBean factoryBean = new JobDetailFactoryBean();
  222. factoryBean.setJobClass(jobClass);
  223. // job has to be durable to be stored in DB:
  224. factoryBean.setDurability(true);
  225. return factoryBean;
  226. }
  227.  
  228. }
  229.  
  230. public final class AutowiringSpringBeanJobFactory extends SpringBeanJobFactory implements
  231. ApplicationContextAware {
  232.  
  233. private transient AutowireCapableBeanFactory beanFactory;
  234.  
  235. @Override
  236. public void setApplicationContext(final ApplicationContext context) {
  237. beanFactory = context.getAutowireCapableBeanFactory();
  238. }
  239.  
  240. @Override
  241. protected Object createJobInstance(final TriggerFiredBundle bundle) throws Exception {
  242. final Object job = super.createJobInstance(bundle);
  243. beanFactory.autowireBean(job);
  244. return job;
  245. }
  246. }
  247.  
  248. problem was I put org.quartz.jobStore.dataSource = myDs instead of org.quartz.jobStore.dataSource = myDS. I changed it, and its working – HeisenBerg
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement