diff --git a/pom.xml b/pom.xml
index 1af24858..9010f3c9 100755
--- a/pom.xml
+++ b/pom.xml
@@ -146,6 +146,7 @@
3.0.8.RELEASE
1.1
7.0
+ 3.11.0
UTF-8
${project.build.directory}/coverage-reports/jacoco-ut.exec
diff --git a/spring-cloud-task-core/pom.xml b/spring-cloud-task-core/pom.xml
index 5383a4a4..fe0c6222 100755
--- a/spring-cloud-task-core/pom.xml
+++ b/spring-cloud-task-core/pom.xml
@@ -77,6 +77,12 @@
hibernate-validator
test
+
+ org.assertj
+ assertj-core
+ ${assertj.version}
+ test
+
diff --git a/spring-cloud-task-core/src/main/java/org/springframework/cloud/task/configuration/SimpleTaskConfiguration.java b/spring-cloud-task-core/src/main/java/org/springframework/cloud/task/configuration/SimpleTaskConfiguration.java
index 28e6c5cd..92b54c07 100644
--- a/spring-cloud-task-core/src/main/java/org/springframework/cloud/task/configuration/SimpleTaskConfiguration.java
+++ b/spring-cloud-task-core/src/main/java/org/springframework/cloud/task/configuration/SimpleTaskConfiguration.java
@@ -115,9 +115,11 @@ public class SimpleTaskConfiguration {
public TaskRepositoryInitializer taskRepositoryInitializer() {
TaskRepositoryInitializer taskRepositoryInitializer = new TaskRepositoryInitializer();
- if(!CollectionUtils.isEmpty(this.dataSources) && this.dataSources.size() == 1) {
- DataSource next = this.dataSources.iterator().next();
- taskRepositoryInitializer.setDataSource(next);
+
+ DataSource initializerDataSource = getDefaultConfigurer().getTaskDataSource();
+
+ if(initializerDataSource != null) {
+ taskRepositoryInitializer.setDataSource(initializerDataSource);
}
return taskRepositoryInitializer;
diff --git a/spring-cloud-task-core/src/test/java/org/springframework/cloud/task/TaskRepositoryInitializerDefaultTaskConfigurerTests.java b/spring-cloud-task-core/src/test/java/org/springframework/cloud/task/TaskRepositoryInitializerDefaultTaskConfigurerTests.java
new file mode 100644
index 00000000..6ec077eb
--- /dev/null
+++ b/spring-cloud-task-core/src/test/java/org/springframework/cloud/task/TaskRepositoryInitializerDefaultTaskConfigurerTests.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2018 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.springframework.cloud.task;
+import java.util.List;
+import java.util.Map;
+import javax.sql.DataSource;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration;
+import org.springframework.cloud.task.configuration.SimpleTaskConfiguration;
+import org.springframework.cloud.task.configuration.TaskConfigurer;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringRunner;
+import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
+/**
+ * Verifies that TaskRepositoryInitializer creates tables if a {@link TaskConfigurer}
+ * has a {@link DataSource}.
+ *
+ * @author Glenn Renfro
+ * @since 1.3.1
+ */
+@RunWith(SpringRunner.class)
+@ContextConfiguration(classes = {SimpleTaskConfiguration.class,
+ EmbeddedDataSourceConfiguration.class})
+public class TaskRepositoryInitializerDefaultTaskConfigurerTests {
+ @Autowired
+ private DataSource dataSource;
+ @Test
+ public void testTablesCreated() throws Exception {
+ JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
+ List