{"id":24419,"date":"2024-03-16T03:09:32","date_gmt":"2024-03-16T03:09:32","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/"},"modified":"2024-03-22T03:40:56","modified_gmt":"2024-03-22T03:40:56","slug":"integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/","title":{"rendered":"Integration of SpringBoot with task scheduling framework Quartz and persistent configuration."},"content":{"rendered":"<p>Spring Boot offers integration support for the Quartz job scheduling framework. Quartz is a powerful job scheduling framework that can be used for tasks such as executing jobs on a schedule.<\/p>\n<p>To integrate Quartz, you need to first add the dependency for Quartz. Add the following dependency in the pom.xml file:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-comment\">&lt;!-- Quartz --&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>org.quartz-scheduler<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>quartz<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<p>Next, create a Quartz configuration class to configure the properties and task scheduling of Quartz.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@Configuration<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">QuartzConfig<\/span> {\r\n\r\n    <span class=\"hljs-meta\">@Bean<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> SchedulerFactoryBean <span class=\"hljs-title function_\">schedulerFactoryBean<\/span><span class=\"hljs-params\">()<\/span> {\r\n        <span class=\"hljs-type\">SchedulerFactoryBean<\/span> <span class=\"hljs-variable\">schedulerFactoryBean<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">SchedulerFactoryBean<\/span>();\r\n        \r\n        <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u89e6\u53d1\u5668<\/span>\r\n        schedulerFactoryBean.setTriggers(trigger1().getObject(), trigger2().getObject());\r\n        \r\n        <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u4efb\u52a1<\/span>\r\n        schedulerFactoryBean.setJobDetails(jobDetail1().getObject(), jobDetail2().getObject());\r\n        \r\n        <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u81ea\u52a8\u542f\u52a8<\/span>\r\n        schedulerFactoryBean.setAutoStartup(<span class=\"hljs-literal\">true<\/span>);\r\n        \r\n        <span class=\"hljs-keyword\">return<\/span> schedulerFactoryBean;\r\n    }\r\n    \r\n    <span class=\"hljs-meta\">@Bean<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> JobDetailFactoryBean <span class=\"hljs-title function_\">jobDetail1<\/span><span class=\"hljs-params\">()<\/span> {\r\n        <span class=\"hljs-type\">JobDetailFactoryBean<\/span> <span class=\"hljs-variable\">jobDetailFactoryBean<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">JobDetailFactoryBean<\/span>();\r\n        jobDetailFactoryBean.setJobClass(MyJob1.class);\r\n        jobDetailFactoryBean.setDurability(<span class=\"hljs-literal\">true<\/span>);\r\n        jobDetailFactoryBean.setRequestsRecovery(<span class=\"hljs-literal\">true<\/span>);\r\n        <span class=\"hljs-keyword\">return<\/span> jobDetailFactoryBean;\r\n    }\r\n    \r\n    <span class=\"hljs-meta\">@Bean<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> JobDetailFactoryBean <span class=\"hljs-title function_\">jobDetail2<\/span><span class=\"hljs-params\">()<\/span> {\r\n        <span class=\"hljs-type\">JobDetailFactoryBean<\/span> <span class=\"hljs-variable\">jobDetailFactoryBean<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">JobDetailFactoryBean<\/span>();\r\n        jobDetailFactoryBean.setJobClass(MyJob2.class);\r\n        jobDetailFactoryBean.setDurability(<span class=\"hljs-literal\">true<\/span>);\r\n        jobDetailFactoryBean.setRequestsRecovery(<span class=\"hljs-literal\">true<\/span>);\r\n        <span class=\"hljs-keyword\">return<\/span> jobDetailFactoryBean;\r\n    }\r\n    \r\n    <span class=\"hljs-meta\">@Bean<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> CronTriggerFactoryBean <span class=\"hljs-title function_\">trigger1<\/span><span class=\"hljs-params\">()<\/span> {\r\n        <span class=\"hljs-type\">CronTriggerFactoryBean<\/span> <span class=\"hljs-variable\">cronTriggerFactoryBean<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">CronTriggerFactoryBean<\/span>();\r\n        cronTriggerFactoryBean.setJobDetail(jobDetail1().getObject());\r\n        cronTriggerFactoryBean.setCronExpression(<span class=\"hljs-string\">\"0\/5 * * * * ?\"<\/span>);\r\n        <span class=\"hljs-keyword\">return<\/span> cronTriggerFactoryBean;\r\n    }\r\n    \r\n    <span class=\"hljs-meta\">@Bean<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> CronTriggerFactoryBean <span class=\"hljs-title function_\">trigger2<\/span><span class=\"hljs-params\">()<\/span> {\r\n        <span class=\"hljs-type\">CronTriggerFactoryBean<\/span> <span class=\"hljs-variable\">cronTriggerFactoryBean<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">CronTriggerFactoryBean<\/span>();\r\n        cronTriggerFactoryBean.setJobDetail(jobDetail2().getObject());\r\n        cronTriggerFactoryBean.setCronExpression(<span class=\"hljs-string\">\"0\/10 * * * * ?\"<\/span>);\r\n        <span class=\"hljs-keyword\">return<\/span> cronTriggerFactoryBean;\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the configuration class above, we have created two JobDetails and two CronTriggers, and added them to the SchedulerFactoryBean. This way, when the application starts, Quartz will execute scheduled tasks based on the configured triggers and jobs.<\/p>\n<p>Finally, create two Job classes to handle the specific task logic.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyJob1<\/span> <span class=\"hljs-keyword\">implements<\/span> <span class=\"hljs-title class_\">Job<\/span> {\r\n    <span class=\"hljs-meta\">@Override<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">execute<\/span><span class=\"hljs-params\">(JobExecutionContext context)<\/span> <span class=\"hljs-keyword\">throws<\/span> JobExecutionException {\r\n        <span class=\"hljs-comment\">\/\/ \u4efb\u52a1\u903b\u8f91<\/span>\r\n    }\r\n}\r\n\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">MyJob2<\/span> <span class=\"hljs-keyword\">implements<\/span> <span class=\"hljs-title class_\">Job<\/span> {\r\n    <span class=\"hljs-meta\">@Override<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">execute<\/span><span class=\"hljs-params\">(JobExecutionContext context)<\/span> <span class=\"hljs-keyword\">throws<\/span> JobExecutionException {\r\n        <span class=\"hljs-comment\">\/\/ \u4efb\u52a1\u903b\u8f91<\/span>\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>This completes the configuration of integrating the Quartz task scheduling framework with Spring Boot.<\/p>\n<p>To persist the configuration of task scheduling, you can utilize JobStore provided by Quartz. Some commonly used JobStore options include:<\/p>\n<ol>\n<li>RAMJobStore: Save the configuration of job scheduling in memory, data will be lost after the application is closed.<\/li>\n<li>JDBCJobStore: Saves the configuration of job scheduling in a database, ensuring the data persists even after the application is closed.<\/li>\n<li>JobStoreCMT: Saving task scheduling configuration in the database and supporting container-managed transactions.<\/li>\n<\/ol>\n<p>To configure persistence using JDBCJobStore, you can add the following dependency.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-comment\">&lt;!-- Quartz JDBC --&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>org.quartz-scheduler<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>quartz-jdbc<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n\r\n<span class=\"hljs-comment\">&lt;!-- H2 Database --&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>com.h2database<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>\r\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>h2<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>\r\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\r\n<\/code><\/pre>\n<p>Next, add the following code in the Quartz configuration class:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">@Bean<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> SchedulerFactoryBean <span class=\"hljs-title function_\">schedulerFactoryBean<\/span><span class=\"hljs-params\">()<\/span> {\r\n    <span class=\"hljs-comment\">\/\/ ...<\/span>\r\n    \r\n    <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u6301\u4e45\u5316\u914d\u7f6e<\/span>\r\n    schedulerFactoryBean.setDataSource(dataSource());\r\n    schedulerFactoryBean.setJobFactory(jobFactory());\r\n    \r\n    <span class=\"hljs-keyword\">return<\/span> schedulerFactoryBean;\r\n}\r\n\r\n<span class=\"hljs-meta\">@Bean<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> DataSource <span class=\"hljs-title function_\">dataSource<\/span><span class=\"hljs-params\">()<\/span><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Spring Boot offers integration support for the Quartz job scheduling framework. Quartz is a powerful job scheduling framework that can be used for tasks such as executing jobs on a schedule. To integrate Quartz, you need to first add the dependency for Quartz. Add the following dependency in the pom.xml file: &lt;!&#8211; Quartz &#8211;&gt; &lt;dependency&gt; [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-24419","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Integration of SpringBoot with task scheduling framework Quartz and persistent configuration. - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Integration of SpringBoot with task scheduling framework Quartz and persistent configuration.\" \/>\n<meta property=\"og:description\" content=\"Spring Boot offers integration support for the Quartz job scheduling framework. Quartz is a powerful job scheduling framework that can be used for tasks such as executing jobs on a schedule. To integrate Quartz, you need to first add the dependency for Quartz. Add the following dependency in the pom.xml file: &lt;!-- Quartz --&gt; &lt;dependency&gt; [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T03:09:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T03:40:56+00:00\" \/>\n<meta name=\"author\" content=\"Jackson Davis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jackson Davis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/\"},\"author\":{\"name\":\"Jackson Davis\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\"},\"headline\":\"Integration of SpringBoot with task scheduling framework Quartz and persistent configuration.\",\"datePublished\":\"2024-03-16T03:09:32+00:00\",\"dateModified\":\"2024-03-22T03:40:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/\"},\"wordCount\":231,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/\",\"name\":\"Integration of SpringBoot with task scheduling framework Quartz and persistent configuration. - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T03:09:32+00:00\",\"dateModified\":\"2024-03-22T03:40:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integration of SpringBoot with task scheduling framework Quartz and persistent configuration.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\",\"name\":\"Jackson Davis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"caption\":\"Jackson Davis\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Integration of SpringBoot with task scheduling framework Quartz and persistent configuration. - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/","og_locale":"en_US","og_type":"article","og_title":"Integration of SpringBoot with task scheduling framework Quartz and persistent configuration.","og_description":"Spring Boot offers integration support for the Quartz job scheduling framework. Quartz is a powerful job scheduling framework that can be used for tasks such as executing jobs on a schedule. To integrate Quartz, you need to first add the dependency for Quartz. Add the following dependency in the pom.xml file: &lt;!-- Quartz --&gt; &lt;dependency&gt; [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T03:09:32+00:00","article_modified_time":"2024-03-22T03:40:56+00:00","author":"Jackson Davis","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Jackson Davis","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/"},"author":{"name":"Jackson Davis","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350"},"headline":"Integration of SpringBoot with task scheduling framework Quartz and persistent configuration.","datePublished":"2024-03-16T03:09:32+00:00","dateModified":"2024-03-22T03:40:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/"},"wordCount":231,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/","url":"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/","name":"Integration of SpringBoot with task scheduling framework Quartz and persistent configuration. - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T03:09:32+00:00","dateModified":"2024-03-22T03:40:56+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/integration-of-springboot-with-task-scheduling-framework-quartz-and-persistent-configuration\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Integration of SpringBoot with task scheduling framework Quartz and persistent configuration."}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350","name":"Jackson Davis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","caption":"Jackson Davis"},"url":"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/24419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=24419"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/24419\/revisions"}],"predecessor-version":[{"id":58453,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/24419\/revisions\/58453"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=24419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=24419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=24419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}