SpringBoot2.x开发案例之整合Quartz任务管理系统
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot2.x开发案例之整合Quartz任务管理系统
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基于spring-boot 2.x + quartz 的CRUD任務管理系統,適用于中小項目。
基于spring-boot +quartz 的CRUD任務管理系統:
https://gitee.com/52itstyle/spring-boot-quartz
開發環境
JDK1.8、Maven、Eclipse
技術棧
SpringBoot2.0.1、thymeleaf3.0.9、quartz2.3.0、iview、vue、layer、AdminLTE、bootstrap
啟動說明
- 項目使用的數據庫為MySql,選擇resources/sql中的tables_mysql_innodb.sql文件初始化數據庫信息。
- 在resources/application.properties文件中替換為自己的數據源。
- 運行Application main方法啟動項目,項目啟動會自動創建一個測試任務 見:com.itstyle.quartz.config.TaskRunner.java。
- 項目訪問地址:http://localhost:8080/task
項目截圖
項目源碼: https://gitee.com/52itstyle/spring-boot-task
版本區別(spring-boot 1.x and 2.x)
這里只是針對這兩個項目異同做比較,當然spring-boot 2.x版本升級還有不少需要注意的地方。
項目名稱配置:
# spring boot 1.x server.context-path=/quartz # spring boot 2.x server.servlet.context-path=/quartz 復制代碼thymeleaf配置:
#spring boot 1.x spring.thymeleaf.mode=LEGACYHTML5 #spring boot 2.x spring.thymeleaf.mode=HTML 復制代碼Hibernate配置:
# spring boot 2.x JPA 依賴 Hibernate 5 # Hibernate 4 naming strategy fully qualified name. Not supported with Hibernate 5. spring.jpa.hibernate.naming.strategy = org.hibernate.cfg.ImprovedNamingStrategy # stripped before adding them to the entity manager) spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect # Hibernate 5 spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl 復制代碼quartz配置:
# spring boot 2.x 已集成Quartz,無需自己配置 spring.quartz.job-store-type=jdbc spring.quartz.properties.org.quartz.scheduler.instanceName=clusteredScheduler spring.quartz.properties.org.quartz.scheduler.instanceId=AUTO spring.quartz.properties.org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate spring.quartz.properties.org.quartz.jobStore.tablePrefix=QRTZ_ spring.quartz.properties.org.quartz.jobStore.isClustered=true spring.quartz.properties.org.quartz.jobStore.clusterCheckinInterval=10000 spring.quartz.properties.org.quartz.jobStore.useProperties=false spring.quartz.properties.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool spring.quartz.properties.org.quartz.threadPool.threadCount=10 spring.quartz.properties.org.quartz.threadPool.threadPriority=5 spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true 復制代碼默認首頁配置:
/*** 配置首頁 spring boot 1.x* 創建者 小柒2012* 創建時間 2017年9月7日*/ public class MyAdapter extends WebMvcConfigurerAdapter{public void addViewControllers( ViewControllerRegistry registry ) {registry.addViewController( "/" ).setViewName( "forward:/login.shtml" );registry.setOrder( Ordered.HIGHEST_PRECEDENCE );super.addViewControllers( registry );} } 復制代碼/*** 配置首頁(在SpringBoot2.0及Spring 5.0 WebMvcConfigurerAdapter以被廢棄 * 建議實現WebMvcConfigurer接口)* 創建者 小柒2012* 創建時間 2018年4月10日*/ public class MyAdapter implements WebMvcConfigurer{public void addViewControllers( ViewControllerRegistry registry ) {registry.addViewController( "/" ).setViewName( "forward:/login.shtml" );registry.setOrder( Ordered.HIGHEST_PRECEDENCE );} } 復制代碼待解決問題:
/*** Set a strategy for handling the query results. This can be used to change* "shape" of the query result.** @param transformer The transformer to apply** @return this (for method chaining)** @deprecated (since 5.2)* @todo develop a new approach to result transformers*/Query<R> setResultTransformer(ResultTransformer transformer); 復制代碼hibernate 5.2 廢棄了 setResultTransformer,說是要開發一種新的獲取集合方法,顯然目前還沒實現,處于TODO狀態。
項目源碼: https://gitee.com/52itstyle/spring-boot-task
總結
以上是生活随笔為你收集整理的SpringBoot2.x开发案例之整合Quartz任务管理系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转: 根域名的知识
- 下一篇: 深入浅出Java多线程