Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
73f7a931
Commit
73f7a931
authored
Jul 17, 2019
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.1.x'
Closes gh-17546
parents
74d00354
e84477cf
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
7 deletions
+20
-7
QuartzAutoConfiguration.java
...rk/boot/autoconfigure/quartz/QuartzAutoConfiguration.java
+7
-7
QuartzAutoConfigurationTests.java
...ot/autoconfigure/quartz/QuartzAutoConfigurationTests.java
+13
-0
No files found.
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java
View file @
73f7a931
...
@@ -32,6 +32,7 @@ import org.springframework.boot.autoconfigure.AutoConfigureAfter;
...
@@ -32,6 +32,7 @@ import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
;
import
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
;
...
@@ -92,6 +93,7 @@ public class QuartzAutoConfiguration {
...
@@ -92,6 +93,7 @@ public class QuartzAutoConfiguration {
@Configuration
(
proxyBeanMethods
=
false
)
@Configuration
(
proxyBeanMethods
=
false
)
@ConditionalOnSingleCandidate
(
DataSource
.
class
)
@ConditionalOnSingleCandidate
(
DataSource
.
class
)
@ConditionalOnProperty
(
prefix
=
"spring.quartz"
,
name
=
"job-store-type"
,
havingValue
=
"jdbc"
)
protected
static
class
JdbcStoreTypeConfiguration
{
protected
static
class
JdbcStoreTypeConfiguration
{
@Bean
@Bean
...
@@ -100,13 +102,11 @@ public class QuartzAutoConfiguration {
...
@@ -100,13 +102,11 @@ public class QuartzAutoConfiguration {
@QuartzDataSource
ObjectProvider
<
DataSource
>
quartzDataSource
,
@QuartzDataSource
ObjectProvider
<
DataSource
>
quartzDataSource
,
ObjectProvider
<
PlatformTransactionManager
>
transactionManager
)
{
ObjectProvider
<
PlatformTransactionManager
>
transactionManager
)
{
return
(
schedulerFactoryBean
)
->
{
return
(
schedulerFactoryBean
)
->
{
if
(
properties
.
getJobStoreType
()
==
JobStoreType
.
JDBC
)
{
DataSource
dataSourceToUse
=
getDataSource
(
dataSource
,
quartzDataSource
);
DataSource
dataSourceToUse
=
getDataSource
(
dataSource
,
quartzDataSource
);
schedulerFactoryBean
.
setDataSource
(
dataSourceToUse
);
schedulerFactoryBean
.
setDataSource
(
dataSourceToUse
);
PlatformTransactionManager
txManager
=
transactionManager
.
getIfUnique
();
PlatformTransactionManager
txManager
=
transactionManager
.
getIfUnique
();
if
(
txManager
!=
null
)
{
if
(
txManager
!=
null
)
{
schedulerFactoryBean
.
setTransactionManager
(
txManager
);
schedulerFactoryBean
.
setTransactionManager
(
txManager
);
}
}
}
};
};
}
}
...
...
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfigurationTests.java
View file @
73f7a931
...
@@ -102,6 +102,19 @@ class QuartzAutoConfigurationTests {
...
@@ -102,6 +102,19 @@ class QuartzAutoConfigurationTests {
.
withPropertyValues
(
"spring.quartz.job-store-type=jdbc"
).
run
(
assertDataSourceJobStore
(
"dataSource"
));
.
withPropertyValues
(
"spring.quartz.job-store-type=jdbc"
).
run
(
assertDataSourceJobStore
(
"dataSource"
));
}
}
@Test
void
withDataSourceAndInMemoryStoreDoesNotInitializeDataSource
()
{
this
.
contextRunner
.
withUserConfiguration
(
QuartzJobsConfiguration
.
class
)
.
withConfiguration
(
AutoConfigurations
.
of
(
DataSourceAutoConfiguration
.
class
,
DataSourceTransactionManagerAutoConfiguration
.
class
))
.
withPropertyValues
(
"spring.quartz.job-store-type=memory"
).
run
((
context
)
->
{
JdbcTemplate
jdbcTemplate
=
new
JdbcTemplate
(
context
.
getBean
(
"dataSource"
,
DataSource
.
class
));
assertThat
(
jdbcTemplate
.
queryForList
(
"SHOW TABLES"
).
stream
()
.
map
((
table
)
->
(
String
)
table
.
get
(
"TABLE_NAME"
)))
.
noneMatch
((
name
)
->
name
.
startsWith
(
"QRTZ"
));
});
}
@Test
@Test
void
withDataSourceNoTransactionManager
()
{
void
withDataSourceNoTransactionManager
()
{
this
.
contextRunner
.
withUserConfiguration
(
QuartzJobsConfiguration
.
class
)
this
.
contextRunner
.
withUserConfiguration
(
QuartzJobsConfiguration
.
class
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment