diff --git a/quartz-manager-parent/quartz-manager-common/src/main/java/it/fabioformosa/quartzmanager/common/properties/QuartzModuleProperties.java b/quartz-manager-parent/quartz-manager-common/src/main/java/it/fabioformosa/quartzmanager/common/properties/QuartzModuleProperties.java
index 9140b82..72e41c7 100644
--- a/quartz-manager-parent/quartz-manager-common/src/main/java/it/fabioformosa/quartzmanager/common/properties/QuartzModuleProperties.java
+++ b/quartz-manager-parent/quartz-manager-common/src/main/java/it/fabioformosa/quartzmanager/common/properties/QuartzModuleProperties.java
@@ -1,12 +1,12 @@
-package it.fabioformosa.quartzmanager.common.properties;
-
-import java.util.Properties;
-
-import lombok.Data;
-
-@Data
-public class QuartzModuleProperties{
-
- private Properties properties;
-
-}
+package it.fabioformosa.quartzmanager.common.properties;
+
+import lombok.Data;
+
+import java.util.Properties;
+
+@Data
+public class QuartzModuleProperties{
+
+ private Properties properties = new Properties();
+
+}
diff --git a/quartz-manager-parent/quartz-manager-starter-persistence/src/main/java/it/fabioformosa/quartzmanager/persistence/PersistenceConfig.java b/quartz-manager-parent/quartz-manager-starter-persistence/src/main/java/it/fabioformosa/quartzmanager/persistence/PersistenceConfig.java
index 517bd29..aa0621b 100644
--- a/quartz-manager-parent/quartz-manager-starter-persistence/src/main/java/it/fabioformosa/quartzmanager/persistence/PersistenceConfig.java
+++ b/quartz-manager-parent/quartz-manager-starter-persistence/src/main/java/it/fabioformosa/quartzmanager/persistence/PersistenceConfig.java
@@ -3,26 +3,30 @@ package it.fabioformosa.quartzmanager.persistence;
import it.fabioformosa.quartzmanager.common.properties.QuartzModuleProperties;
import liquibase.integration.spring.SpringLiquibase;
import lombok.Data;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-import org.springframework.context.annotation.PropertySource;
+import org.springframework.context.annotation.*;
import javax.sql.DataSource;
@Configuration
-@PropertySource("classpath:quartz-manager-application-persistence.properties")
+@PropertySource("classpath:quartz-persistence.properties")
public class PersistenceConfig {
+ @Value("${quartz-manager.persistence.quartz.datasource.url}")
+ private String quartzDatasourceUrl;
+
+ @Value("${quartz-manager.persistence.quartz.datasource.user}")
+ private String quartzDatasourceUser;
+
+ @Value("${quartz-manager.persistence.quartz.datasource.password}")
+ private String quartzDatasourcePassword;
+
@Data
public class PersistenceDatasourceProps {
- private String url;
private String changeLog;
private String contexts;
- private String user;
- private String password;
}
@Bean
@@ -42,19 +46,23 @@ public class PersistenceConfig {
}
@Bean("quartzPersistenceProperties")
- @ConfigurationProperties(prefix = "spring.quartz")
- public QuartzModuleProperties persistenceQuartzProps() {
- return new QuartzModuleProperties();
+ public QuartzModuleProperties persistenceQuartzProps(QuartzPersistencePropConfig quartzPersistencePropConfig) {
+ QuartzModuleProperties quartzModuleProperties = new QuartzModuleProperties();
+ quartzModuleProperties.setProperties(quartzPersistencePropConfig.getProperties());
+ quartzModuleProperties.getProperties().setProperty("org.quartz.dataSource.quartzDataSource.URL", quartzDatasourceUrl);
+ quartzModuleProperties.getProperties().setProperty("org.quartz.dataSource.quartzDataSource.user", quartzDatasourceUser);
+ quartzModuleProperties.getProperties().setProperty("org.quartz.dataSource.quartzDataSource.password", quartzDatasourcePassword);
+ return quartzModuleProperties;
}
@Primary
@Bean
public DataSource quartzManagerDatasource(PersistenceDatasourceProps persistenceDatasourceProps) {
return DataSourceBuilder.create()
- .url(persistenceDatasourceProps.getUrl())
+ .url(quartzDatasourceUrl)
.driverClassName("org.postgresql.Driver")
- .username(persistenceDatasourceProps.getUser())
- .password(persistenceDatasourceProps.getPassword())
+ .username(quartzDatasourceUser)
+ .password(quartzDatasourcePassword)
.build();
}
diff --git a/quartz-manager-parent/quartz-manager-starter-persistence/src/main/java/it/fabioformosa/quartzmanager/persistence/QuartzPersistencePropConfig.java b/quartz-manager-parent/quartz-manager-starter-persistence/src/main/java/it/fabioformosa/quartzmanager/persistence/QuartzPersistencePropConfig.java
new file mode 100644
index 0000000..800f95c
--- /dev/null
+++ b/quartz-manager-parent/quartz-manager-starter-persistence/src/main/java/it/fabioformosa/quartzmanager/persistence/QuartzPersistencePropConfig.java
@@ -0,0 +1,17 @@
+package it.fabioformosa.quartzmanager.persistence;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.PropertySource;
+
+import java.util.Properties;
+
+@Configuration
+@PropertySource("classpath:quartz-persistence.properties")
+@ConfigurationProperties(prefix = "spring.quartz")
+@Getter @Setter
+public class QuartzPersistencePropConfig {
+ private Properties properties;
+}
diff --git a/quartz-manager-parent/quartz-manager-starter-persistence/src/main/resources/quartz-manager-application-persistence.properties b/quartz-manager-parent/quartz-manager-starter-persistence/src/main/resources/quartz-manager-application-persistence.properties
deleted file mode 100644
index 9edbfcf..0000000
--- a/quartz-manager-parent/quartz-manager-starter-persistence/src/main/resources/quartz-manager-application-persistence.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-spring.liquibase.url=jdbc:postgresql://localhost:5432/quartzmanager
-spring.liquibase.change-log=classpath:db/quartz-scheduler/liquibase-changelog-master.xml
-spring.liquibase.contexts=default
-spring.liquibase.user=quartzmanager
-spring.liquibase.password=quartzmanager
-spring.quartz.job-store-type=jdbc
-spring.quartz.initialize-schema=never
-spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
-spring.quartz.properties.org.quartz.dataSource.quartzDataSource.driver=org.postgresql.Driver
-spring.quartz.properties.org.quartz.dataSource.quartzDataSource.URL=jdbc:postgresql://localhost:5432/quartzmanager
-spring.quartz.properties.org.quartz.dataSource.quartzDataSource.user=quartzmanager
-spring.quartz.properties.org.quartz.dataSource.quartzDataSource.password=quartzmanager
-spring.quartz.properties.org.quartz.dataSource.quartzDataSource.maxConnections=5
-spring.quartz.properties.org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
-spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
-spring.quartz.properties.org.quartz.jobStore.dataSource=quartzDataSource
-spring.quartz.properties.org.quartz.dataSource.quartzDataSource.provider=hikaricp
-spring.quartz.properties.org.quartz.jobStore.misfireThreshold=1000
-# org.quartz.jobStore.isClustered=true
-# org.quartz.scheduler.instanceId=AUTO
\ No newline at end of file
diff --git a/quartz-manager-parent/quartz-manager-starter-persistence/src/main/resources/quartz-persistence.properties b/quartz-manager-parent/quartz-manager-starter-persistence/src/main/resources/quartz-persistence.properties
index 3e68aac..fbd821c 100644
--- a/quartz-manager-parent/quartz-manager-starter-persistence/src/main/resources/quartz-persistence.properties
+++ b/quartz-manager-parent/quartz-manager-starter-persistence/src/main/resources/quartz-persistence.properties
@@ -1,10 +1,13 @@
-org.quartz.dataSource.quartzDataSource.driver = org.postgresql.Driver
-org.quartz.dataSource.quartzDataSource.URL = jdbc:postgresql://localhost:5432/quartzmanager
-org.quartz.dataSource.quartzDataSource.user quartzmanager
-org.quartz.dataSource.quartzDataSource.password = quartzmanager
-org.quartz.dataSource.quartzDataSource.maxConnections = 5
-org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
-org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
-org.quartz.jobStore.dataSource = quartzDataSource
-org.quartz.dataSource.quartzDataSource.provider=hikaricp
-org.quartz.jobStore.misfireThreshold=1000
\ No newline at end of file
+spring.liquibase.change-log=classpath:db/quartz-scheduler/liquibase-changelog-master.xml
+spring.liquibase.contexts=default
+spring.quartz.job-store-type=jdbc
+spring.quartz.initialize-schema=never
+spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
+spring.quartz.properties.org.quartz.dataSource.quartzDataSource.driver=org.postgresql.Driver
+spring.quartz.properties.org.quartz.dataSource.quartzDataSource.maxConnections=5
+spring.quartz.properties.org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
+spring.quartz.properties.org.quartz.jobStore.dataSource=quartzDataSource
+spring.quartz.properties.org.quartz.dataSource.quartzDataSource.provider=hikaricp
+spring.quartz.properties.org.quartz.jobStore.misfireThreshold=1000
+# org.quartz.jobStore.isClustered=true
+# org.quartz.scheduler.instanceId=AUTO
diff --git a/quartz-manager-parent/quartz-manager-web-showcase/pom.xml b/quartz-manager-parent/quartz-manager-web-showcase/pom.xml
index e4787b0..bfc2f24 100644
--- a/quartz-manager-parent/quartz-manager-web-showcase/pom.xml
+++ b/quartz-manager-parent/quartz-manager-web-showcase/pom.xml
@@ -1,160 +1,160 @@
-
-
- 4.0.0
-
-
- it.fabioformosa.quartz-manager
- quartz-manager-parent
- 3.0.2-SNAPSHOT
-
-
- quartz-manager-web-showcase
-
- war
-
- Quartz Manager Web Showcase
- A webapp that imports Quartz Manager API lib and the frontend webjar
-
-
- UTF-8
- UTF-8
- 2.9.2
- 1.8
-
-
-
-
- it.fabioformosa.quartz-manager
- quartz-manager-starter-api
-
-
- it.fabioformosa.quartz-manager
- quartz-manager-starter-ui
-
-
- it.fabioformosa.quartz-manager
- quartz-manager-starter-security
-
-
- it.fabioformosa.quartz-manager
- quartz-manager-starter-persistence
-
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-security
-
-
- org.springframework.boot
- spring-boot-starter-data-jpa
-
-
- org.springframework.boot
- spring-boot-devtools
-
-
- org.springframework.boot
- spring-boot-configuration-processor
- true
-
-
- org.springframework.boot
- spring-boot-starter-tomcat
- provided
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
-
-
- io.jsonwebtoken
- jjwt
- 0.9.0
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.fasterxml.jackson.core
- jackson-annotations
-
-
- com.h2database
- h2
- runtime
-
-
- org.codehaus.groovy
- groovy
-
-
- net.sourceforge.nekohtml
- nekohtml
-
-
- io.rest-assured
- spring-mock-mvc
- test
-
-
- org.projectlombok
- lombok
- provided
-
-
- org.apache.commons
- commons-lang3
-
-
-
-
- org.liquibase
- liquibase-core
-
-
-
- org.postgresql
- postgresql
-
-
-
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
- repackage
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.8.0
-
- 1.8
- 1.8
-
-
-
-
-
-
-
-
+
+
+ 4.0.0
+
+
+ it.fabioformosa.quartz-manager
+ quartz-manager-parent
+ 3.0.2-SNAPSHOT
+
+
+ quartz-manager-web-showcase
+
+ war
+
+ Quartz Manager Web Showcase
+ A webapp that imports Quartz Manager API lib and the frontend webjar
+
+
+ UTF-8
+ UTF-8
+ 2.9.2
+ 1.8
+
+
+
+
+ it.fabioformosa.quartz-manager
+ quartz-manager-starter-api
+
+
+ it.fabioformosa.quartz-manager
+ quartz-manager-starter-ui
+
+
+ it.fabioformosa.quartz-manager
+ quartz-manager-starter-security
+
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+ org.springframework.boot
+ spring-boot-devtools
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+ io.jsonwebtoken
+ jjwt
+ 0.9.0
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+
+
+ com.h2database
+ h2
+ runtime
+
+
+ org.codehaus.groovy
+ groovy
+
+
+ net.sourceforge.nekohtml
+ nekohtml
+
+
+ io.rest-assured
+ spring-mock-mvc
+ test
+
+
+ org.projectlombok
+ lombok
+ provided
+
+
+ org.apache.commons
+ commons-lang3
+
+
+
+
+ org.liquibase
+ liquibase-core
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.0
+
+ 1.8
+ 1.8
+
+
+
+
+
+
+
+
diff --git a/quartz-manager-parent/quartz-manager-web-showcase/src/main/resources/application.yml b/quartz-manager-parent/quartz-manager-web-showcase/src/main/resources/application.yml
index 5d2e4ab..74a5d68 100644
--- a/quartz-manager-parent/quartz-manager-web-showcase/src/main/resources/application.yml
+++ b/quartz-manager-parent/quartz-manager-web-showcase/src/main/resources/application.yml
@@ -47,6 +47,12 @@ logging:
org.quartz: DEBUG
quartz-manager:
+# persistence:
+# quartz:
+# datasource:
+# url: "jdbc:postgresql://localhost:5432/quartzmanager"
+# user: "quartzmanager"
+# password: "quartzmanager"
security:
login-model:
form-login-enabled: true
diff --git a/quartz-manager-parent/quartz-manager-web-showcase/src/main/resources/quartz.properties b/quartz-manager-parent/quartz-manager-web-showcase/src/main/resources/quartz.properties
index 44b1da1..d00f153 100644
--- a/quartz-manager-parent/quartz-manager-web-showcase/src/main/resources/quartz.properties
+++ b/quartz-manager-parent/quartz-manager-web-showcase/src/main/resources/quartz.properties
@@ -1,13 +1,3 @@
org.quartz.scheduler.instanceName=example
org.quartz.scheduler.instanceId=AUTO
org.quartz.threadPool.threadCount=1
-#org.quartz.dataSource.quartzDataSource.driver = org.postgresql.Driver
-#org.quartz.dataSource.quartzDataSource.URL = jdbc:postgresql://localhost:5432/quartzmanager
-#org.quartz.dataSource.quartzDataSource.user quartzmanager
-#org.quartz.dataSource.quartzDataSource.password = quartzmanager
-#org.quartz.dataSource.quartzDataSource.maxConnections = 5
-#org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
-#org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
-#org.quartz.jobStore.dataSource = quartzDataSource
-#org.quartz.dataSource.quartzDataSource.provider=hikaricp
-#org.quartz.jobStore.misfireThreshold=1000
\ No newline at end of file