parent
							
								
									14b7be8325
								
							
						
					
					
						commit
						394371eb73
					
				| 
						 | 
				
			
			@ -24,7 +24,7 @@ import org.junit.After;
 | 
			
		|||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.jdbc.core.JdbcTemplate;
 | 
			
		||||
import org.springframework.jdbc.datasource.SingleConnectionDataSource;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,8 +19,8 @@ package org.springframework.boot.autoconfigure;
 | 
			
		|||
import javax.annotation.PostConstruct;
 | 
			
		||||
import javax.sql.DataSource;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.boot.jdbc.DatabaseDriver;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.core.io.ResourceLoader;
 | 
			
		||||
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils;
 | 
			
		||||
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
 | 
			
		||||
| 
						 | 
				
			
			@ -53,8 +53,7 @@ public abstract class AbstractDatabaseInitializer {
 | 
			
		|||
 | 
			
		||||
	@PostConstruct
 | 
			
		||||
	protected void initialize() {
 | 
			
		||||
		if ((getMode() == DatabaseInitializerMode.EMBEDDED && !isEmbeddedDataSource())
 | 
			
		||||
				|| getMode() == DatabaseInitializerMode.NEVER) {
 | 
			
		||||
		if (!isEnabled()) {
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
 | 
			
		||||
| 
						 | 
				
			
			@ -68,7 +67,18 @@ public abstract class AbstractDatabaseInitializer {
 | 
			
		|||
		DatabasePopulatorUtils.execute(populator, this.dataSource);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	protected abstract DatabaseInitializerMode getMode();
 | 
			
		||||
	private boolean isEnabled() {
 | 
			
		||||
		if (getMode() == DatabaseInitializationMode.NEVER) {
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
		if (getMode() == DatabaseInitializationMode.EMBEDDED
 | 
			
		||||
				&& !EmbeddedDatabaseConnection.isEmbedded(this.dataSource)) {
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	protected abstract DatabaseInitializationMode getMode();
 | 
			
		||||
 | 
			
		||||
	protected abstract String getSchemaLocation();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -88,8 +98,4 @@ public abstract class AbstractDatabaseInitializer {
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private boolean isEmbeddedDataSource() {
 | 
			
		||||
		return EmbeddedDatabaseConnection.isEmbedded(this.dataSource);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,22 +20,23 @@ package org.springframework.boot.autoconfigure;
 | 
			
		|||
 * Supported {@link AbstractDatabaseInitializer database initializer} modes.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Vedran Pavic
 | 
			
		||||
 * @author Stephane Nicoll
 | 
			
		||||
 * @since 2.0.0
 | 
			
		||||
 */
 | 
			
		||||
public enum DatabaseInitializerMode {
 | 
			
		||||
public enum DatabaseInitializationMode {
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Always enabled.
 | 
			
		||||
	 * Always initialize the database.
 | 
			
		||||
	 */
 | 
			
		||||
	ALWAYS,
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Enabled when using an embedded database.
 | 
			
		||||
	 * Only initialize an embedded database.
 | 
			
		||||
	 */
 | 
			
		||||
	EMBEDDED,
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Never enabled.
 | 
			
		||||
	 * Do not initialize the database.
 | 
			
		||||
	 */
 | 
			
		||||
	NEVER
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -19,7 +19,7 @@ package org.springframework.boot.autoconfigure.batch;
 | 
			
		|||
import javax.sql.DataSource;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.AbstractDatabaseInitializer;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializerMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializationMode;
 | 
			
		||||
import org.springframework.core.io.ResourceLoader;
 | 
			
		||||
import org.springframework.util.Assert;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ public class BatchDatabaseInitializer extends AbstractDatabaseInitializer {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	protected DatabaseInitializerMode getMode() {
 | 
			
		||||
	protected DatabaseInitializationMode getMode() {
 | 
			
		||||
		return this.properties.getInitializeSchema();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,7 @@
 | 
			
		|||
 | 
			
		||||
package org.springframework.boot.autoconfigure.batch;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializerMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializationMode;
 | 
			
		||||
import org.springframework.boot.context.properties.ConfigurationProperties;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -44,9 +44,9 @@ public class BatchProperties {
 | 
			
		|||
	private String tablePrefix;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Spring Batch database schema initialization mode.
 | 
			
		||||
	 * Database schema initialization mode.
 | 
			
		||||
	 */
 | 
			
		||||
	private DatabaseInitializerMode initializeSchema = DatabaseInitializerMode.EMBEDDED;
 | 
			
		||||
	private DatabaseInitializationMode initializeSchema = DatabaseInitializationMode.EMBEDDED;
 | 
			
		||||
 | 
			
		||||
	private final Job job = new Job();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -66,11 +66,11 @@ public class BatchProperties {
 | 
			
		|||
		this.tablePrefix = tablePrefix;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public DatabaseInitializerMode getInitializeSchema() {
 | 
			
		||||
	public DatabaseInitializationMode getInitializeSchema() {
 | 
			
		||||
		return this.initializeSchema;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public void setInitializeSchema(DatabaseInitializerMode initializeSchema) {
 | 
			
		||||
	public void setInitializeSchema(DatabaseInitializationMode initializeSchema) {
 | 
			
		||||
		this.initializeSchema = initializeSchema;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,7 @@ package org.springframework.boot.autoconfigure.integration;
 | 
			
		|||
import javax.sql.DataSource;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.AbstractDatabaseInitializer;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializerMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializationMode;
 | 
			
		||||
import org.springframework.core.io.ResourceLoader;
 | 
			
		||||
import org.springframework.util.Assert;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ public class IntegrationDatabaseInitializer extends AbstractDatabaseInitializer
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	protected DatabaseInitializerMode getMode() {
 | 
			
		||||
	protected DatabaseInitializationMode getMode() {
 | 
			
		||||
		return this.properties.getInitializeSchema();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,7 @@
 | 
			
		|||
 | 
			
		||||
package org.springframework.boot.autoconfigure.integration;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializerMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializationMode;
 | 
			
		||||
import org.springframework.boot.context.properties.ConfigurationProperties;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -46,9 +46,9 @@ public class IntegrationProperties {
 | 
			
		|||
		private String schema = DEFAULT_SCHEMA_LOCATION;
 | 
			
		||||
 | 
			
		||||
		/**
 | 
			
		||||
		 * Spring Integration database schema initialization mode.
 | 
			
		||||
		 * Database schema initialization mode.
 | 
			
		||||
		 */
 | 
			
		||||
		private DatabaseInitializerMode initializeSchema = DatabaseInitializerMode.EMBEDDED;
 | 
			
		||||
		private DatabaseInitializationMode initializeSchema = DatabaseInitializationMode.EMBEDDED;
 | 
			
		||||
 | 
			
		||||
		public String getSchema() {
 | 
			
		||||
			return this.schema;
 | 
			
		||||
| 
						 | 
				
			
			@ -58,11 +58,11 @@ public class IntegrationProperties {
 | 
			
		|||
			this.schema = schema;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public DatabaseInitializerMode getInitializeSchema() {
 | 
			
		||||
		public DatabaseInitializationMode getInitializeSchema() {
 | 
			
		||||
			return this.initializeSchema;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public void setInitializeSchema(DatabaseInitializerMode initializeSchema) {
 | 
			
		||||
		public void setInitializeSchema(DatabaseInitializationMode initializeSchema) {
 | 
			
		||||
			this.initializeSchema = initializeSchema;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,6 +31,7 @@ import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
 | 
			
		|||
import org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerPostProcessor.Registrar;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvidersConfiguration;
 | 
			
		||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.context.ApplicationContext;
 | 
			
		||||
import org.springframework.context.annotation.Bean;
 | 
			
		||||
import org.springframework.context.annotation.Condition;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,6 +29,7 @@ import org.springframework.beans.factory.BeanCreationException;
 | 
			
		|||
import org.springframework.beans.factory.InitializingBean;
 | 
			
		||||
import org.springframework.boot.context.properties.ConfigurationProperties;
 | 
			
		||||
import org.springframework.boot.jdbc.DatabaseDriver;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.context.EnvironmentAware;
 | 
			
		||||
import org.springframework.core.env.Environment;
 | 
			
		||||
import org.springframework.util.Assert;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,6 +20,7 @@ import javax.annotation.PreDestroy;
 | 
			
		|||
 | 
			
		||||
import org.springframework.beans.factory.BeanClassLoaderAware;
 | 
			
		||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.context.annotation.Bean;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,8 +21,8 @@ import java.util.Map;
 | 
			
		|||
 | 
			
		||||
import javax.sql.DataSource;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.boot.context.properties.ConfigurationProperties;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.orm.jpa.vendor.Database;
 | 
			
		||||
import org.springframework.util.StringUtils;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,7 @@ package org.springframework.boot.autoconfigure.quartz;
 | 
			
		|||
import javax.sql.DataSource;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.AbstractDatabaseInitializer;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializerMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializationMode;
 | 
			
		||||
import org.springframework.core.io.ResourceLoader;
 | 
			
		||||
import org.springframework.util.Assert;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ public class QuartzDatabaseInitializer extends AbstractDatabaseInitializer {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	protected DatabaseInitializerMode getMode() {
 | 
			
		||||
	protected DatabaseInitializationMode getMode() {
 | 
			
		||||
		return this.properties.getJdbc().getInitializeSchema();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,7 @@ package org.springframework.boot.autoconfigure.quartz;
 | 
			
		|||
import java.util.HashMap;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializerMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializationMode;
 | 
			
		||||
import org.springframework.boot.context.properties.ConfigurationProperties;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -71,9 +71,9 @@ public class QuartzProperties {
 | 
			
		|||
		private String schema = DEFAULT_SCHEMA_LOCATION;
 | 
			
		||||
 | 
			
		||||
		/**
 | 
			
		||||
		 * Quartz Scheduler database schema initialization mode.
 | 
			
		||||
		 * Database schema initialization mode.
 | 
			
		||||
		 */
 | 
			
		||||
		private DatabaseInitializerMode initializeSchema = DatabaseInitializerMode.EMBEDDED;
 | 
			
		||||
		private DatabaseInitializationMode initializeSchema = DatabaseInitializationMode.EMBEDDED;
 | 
			
		||||
 | 
			
		||||
		public String getSchema() {
 | 
			
		||||
			return this.schema;
 | 
			
		||||
| 
						 | 
				
			
			@ -83,11 +83,11 @@ public class QuartzProperties {
 | 
			
		|||
			this.schema = schema;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public DatabaseInitializerMode getInitializeSchema() {
 | 
			
		||||
		public DatabaseInitializationMode getInitializeSchema() {
 | 
			
		||||
			return this.initializeSchema;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		public void setInitializeSchema(DatabaseInitializerMode initializeSchema) {
 | 
			
		||||
		public void setInitializeSchema(DatabaseInitializationMode initializeSchema) {
 | 
			
		||||
			this.initializeSchema = initializeSchema;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,7 @@ package org.springframework.boot.autoconfigure.session;
 | 
			
		|||
import javax.sql.DataSource;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.AbstractDatabaseInitializer;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializerMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializationMode;
 | 
			
		||||
import org.springframework.core.io.ResourceLoader;
 | 
			
		||||
import org.springframework.util.Assert;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ public class JdbcSessionDatabaseInitializer extends AbstractDatabaseInitializer
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	protected DatabaseInitializerMode getMode() {
 | 
			
		||||
	protected DatabaseInitializationMode getMode() {
 | 
			
		||||
		return this.properties.getInitializeSchema();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,7 @@
 | 
			
		|||
 | 
			
		||||
package org.springframework.boot.autoconfigure.session;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializerMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializationMode;
 | 
			
		||||
import org.springframework.boot.context.properties.ConfigurationProperties;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -44,9 +44,9 @@ public class JdbcSessionProperties {
 | 
			
		|||
	private String tableName = DEFAULT_TABLE_NAME;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Spring Session database schema initialization mode.
 | 
			
		||||
	 * Database schema initialization mode.
 | 
			
		||||
	 */
 | 
			
		||||
	private DatabaseInitializerMode initializeSchema = DatabaseInitializerMode.EMBEDDED;
 | 
			
		||||
	private DatabaseInitializationMode initializeSchema = DatabaseInitializationMode.EMBEDDED;
 | 
			
		||||
 | 
			
		||||
	public String getSchema() {
 | 
			
		||||
		return this.schema;
 | 
			
		||||
| 
						 | 
				
			
			@ -64,11 +64,11 @@ public class JdbcSessionProperties {
 | 
			
		|||
		this.tableName = tableName;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public DatabaseInitializerMode getInitializeSchema() {
 | 
			
		||||
	public DatabaseInitializationMode getInitializeSchema() {
 | 
			
		||||
		return this.initializeSchema;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public void setInitializeSchema(DatabaseInitializerMode initializeSchema) {
 | 
			
		||||
	public void setInitializeSchema(DatabaseInitializationMode initializeSchema) {
 | 
			
		||||
		this.initializeSchema = initializeSchema;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,7 +47,7 @@ import org.springframework.batch.support.transaction.ResourcelessTransactionMana
 | 
			
		|||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.boot.CommandLineRunner;
 | 
			
		||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializerMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializationMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration;
 | 
			
		||||
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
 | 
			
		||||
| 
						 | 
				
			
			@ -89,7 +89,7 @@ public class BatchAutoConfigurationTests {
 | 
			
		|||
					assertThat(context).hasSingleBean(JobExplorer.class);
 | 
			
		||||
					assertThat(
 | 
			
		||||
							context.getBean(BatchProperties.class).getInitializeSchema())
 | 
			
		||||
									.isEqualTo(DatabaseInitializerMode.EMBEDDED);
 | 
			
		||||
									.isEqualTo(DatabaseInitializationMode.EMBEDDED);
 | 
			
		||||
					assertThat(new JdbcTemplate(context.getBean(DataSource.class))
 | 
			
		||||
							.queryForList("select * from BATCH_JOB_EXECUTION")).isEmpty();
 | 
			
		||||
				});
 | 
			
		||||
| 
						 | 
				
			
			@ -176,7 +176,7 @@ public class BatchAutoConfigurationTests {
 | 
			
		|||
					assertThat(context).hasSingleBean(JobLauncher.class);
 | 
			
		||||
					assertThat(
 | 
			
		||||
							context.getBean(BatchProperties.class).getInitializeSchema())
 | 
			
		||||
									.isEqualTo(DatabaseInitializerMode.NEVER);
 | 
			
		||||
									.isEqualTo(DatabaseInitializationMode.NEVER);
 | 
			
		||||
					this.expected.expect(BadSqlGrammarException.class);
 | 
			
		||||
					new JdbcTemplate(context.getBean(DataSource.class))
 | 
			
		||||
							.queryForList("select * from BATCH_JOB_EXECUTION");
 | 
			
		||||
| 
						 | 
				
			
			@ -215,7 +215,7 @@ public class BatchAutoConfigurationTests {
 | 
			
		|||
					assertThat(context).hasSingleBean(JobLauncher.class);
 | 
			
		||||
					assertThat(
 | 
			
		||||
							context.getBean(BatchProperties.class).getInitializeSchema())
 | 
			
		||||
									.isEqualTo(DatabaseInitializerMode.EMBEDDED);
 | 
			
		||||
									.isEqualTo(DatabaseInitializationMode.EMBEDDED);
 | 
			
		||||
					assertThat(new JdbcTemplate(context.getBean(DataSource.class))
 | 
			
		||||
							.queryForList("select * from PREFIX_JOB_EXECUTION"))
 | 
			
		||||
									.isEmpty();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,7 @@ import org.springframework.batch.core.explore.JobExplorer;
 | 
			
		|||
import org.springframework.batch.core.launch.JobLauncher;
 | 
			
		||||
import org.springframework.batch.core.repository.JobRepository;
 | 
			
		||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializerMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializationMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration;
 | 
			
		||||
import org.springframework.boot.autoconfigure.orm.jpa.test.City;
 | 
			
		||||
| 
						 | 
				
			
			@ -69,7 +69,7 @@ public class BatchAutoConfigurationWithoutJpaTests {
 | 
			
		|||
									.contains("DataSourceTransactionManager");
 | 
			
		||||
					assertThat(
 | 
			
		||||
							context.getBean(BatchProperties.class).getInitializeSchema())
 | 
			
		||||
									.isEqualTo(DatabaseInitializerMode.EMBEDDED);
 | 
			
		||||
									.isEqualTo(DatabaseInitializationMode.EMBEDDED);
 | 
			
		||||
					assertThat(new JdbcTemplate(context.getBean(DataSource.class))
 | 
			
		||||
							.queryForList("select * from BATCH_JOB_EXECUTION")).isEmpty();
 | 
			
		||||
					assertThat(context.getBean(JobExplorer.class)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,7 +26,7 @@ import org.junit.Rule;
 | 
			
		|||
import org.junit.Test;
 | 
			
		||||
import org.junit.rules.ExpectedException;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializerMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializationMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration.IntegrationComponentScanAutoConfiguration;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration;
 | 
			
		||||
| 
						 | 
				
			
			@ -155,7 +155,7 @@ public class IntegrationAutoConfigurationTests {
 | 
			
		|||
				"spring.datasource.generate-unique-name=true",
 | 
			
		||||
				"spring.integration.jdbc.initialize-schema=always");
 | 
			
		||||
		assertThat(this.context.getBean(IntegrationProperties.class).getJdbc()
 | 
			
		||||
				.getInitializeSchema()).isEqualTo(DatabaseInitializerMode.ALWAYS);
 | 
			
		||||
				.getInitializeSchema()).isEqualTo(DatabaseInitializationMode.ALWAYS);
 | 
			
		||||
		JdbcOperations jdbcOperations = this.context.getBean(JdbcOperations.class);
 | 
			
		||||
		assertThat(jdbcOperations.queryForList("select * from INT_MESSAGE")).isEmpty();
 | 
			
		||||
		assertThat(jdbcOperations.queryForList("select * from INT_GROUP_TO_MESSAGE"))
 | 
			
		||||
| 
						 | 
				
			
			@ -175,7 +175,7 @@ public class IntegrationAutoConfigurationTests {
 | 
			
		|||
				"spring.datasource.generate-unique-name=true",
 | 
			
		||||
				"spring.integration.jdbc.initialize-schema=never");
 | 
			
		||||
		assertThat(this.context.getBean(IntegrationProperties.class).getJdbc()
 | 
			
		||||
				.getInitializeSchema()).isEqualTo(DatabaseInitializerMode.NEVER);
 | 
			
		||||
				.getInitializeSchema()).isEqualTo(DatabaseInitializationMode.NEVER);
 | 
			
		||||
		JdbcOperations jdbcOperations = this.context.getBean(JdbcOperations.class);
 | 
			
		||||
		this.thrown.expect(BadSqlGrammarException.class);
 | 
			
		||||
		jdbcOperations.queryForList("select * from INT_MESSAGE");
 | 
			
		||||
| 
						 | 
				
			
			@ -188,7 +188,7 @@ public class IntegrationAutoConfigurationTests {
 | 
			
		|||
				JdbcTemplateAutoConfiguration.class, IntegrationAutoConfiguration.class },
 | 
			
		||||
				"spring.datasource.generate-unique-name=true");
 | 
			
		||||
		assertThat(this.context.getBean(IntegrationProperties.class).getJdbc()
 | 
			
		||||
				.getInitializeSchema()).isEqualTo(DatabaseInitializerMode.EMBEDDED);
 | 
			
		||||
				.getInitializeSchema()).isEqualTo(DatabaseInitializationMode.EMBEDDED);
 | 
			
		||||
		JdbcOperations jdbcOperations = this.context.getBean(JdbcOperations.class);
 | 
			
		||||
		jdbcOperations.queryForList("select * from INT_MESSAGE").isEmpty();
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,6 +16,8 @@
 | 
			
		|||
 | 
			
		||||
package org.springframework.boot.autoconfigure.jdbc;
 | 
			
		||||
 | 
			
		||||
import java.net.URL;
 | 
			
		||||
import java.net.URLClassLoader;
 | 
			
		||||
import java.sql.Connection;
 | 
			
		||||
import java.sql.Driver;
 | 
			
		||||
import java.sql.DriverPropertyInfo;
 | 
			
		||||
| 
						 | 
				
			
			@ -39,6 +41,7 @@ import org.springframework.beans.factory.BeanCreationException;
 | 
			
		|||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
 | 
			
		||||
import org.springframework.boot.jdbc.DatabaseDriver;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.boot.test.context.HidePackagesClassLoader;
 | 
			
		||||
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
 | 
			
		||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
 | 
			
		||||
| 
						 | 
				
			
			@ -81,17 +84,12 @@ public class DataSourceAutoConfigurationTests {
 | 
			
		|||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void testBadUrl() throws Exception {
 | 
			
		||||
		try {
 | 
			
		||||
			EmbeddedDatabaseConnection.override = EmbeddedDatabaseConnection.NONE;
 | 
			
		||||
		this.contextRunner
 | 
			
		||||
				.withPropertyValues("spring.datasource.url:jdbc:not-going-to-work")
 | 
			
		||||
				.withClassLoader(new DisableEmbeddedDatabaseClassLoader())
 | 
			
		||||
				.run((context) -> assertThat(context).getFailure()
 | 
			
		||||
						.isInstanceOf(BeanCreationException.class));
 | 
			
		||||
	}
 | 
			
		||||
		finally {
 | 
			
		||||
			EmbeddedDatabaseConnection.override = null;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void testBadDriverClass() throws Exception {
 | 
			
		||||
| 
						 | 
				
			
			@ -311,4 +309,24 @@ public class DataSourceAutoConfigurationTests {
 | 
			
		|||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private static class DisableEmbeddedDatabaseClassLoader extends URLClassLoader {
 | 
			
		||||
 | 
			
		||||
		DisableEmbeddedDatabaseClassLoader() {
 | 
			
		||||
			super(new URL[0], DisableEmbeddedDatabaseClassLoader.class.getClassLoader());
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		@Override
 | 
			
		||||
		protected Class<?> loadClass(String name, boolean resolve)
 | 
			
		||||
				throws ClassNotFoundException {
 | 
			
		||||
			for (EmbeddedDatabaseConnection candidate : EmbeddedDatabaseConnection.values()) {
 | 
			
		||||
				if (name.equals(candidate.getDriverClassName())) {
 | 
			
		||||
					throw new ClassNotFoundException();
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			return super.loadClass(name, resolve);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -68,7 +68,6 @@ public class DataSourceInitializerTests {
 | 
			
		|||
 | 
			
		||||
	@Before
 | 
			
		||||
	public void init() {
 | 
			
		||||
		EmbeddedDatabaseConnection.override = null;
 | 
			
		||||
		TestPropertyValues.of("spring.datasource.initialize:false",
 | 
			
		||||
				"spring.datasource.url:jdbc:hsqldb:mem:testdb-" + new Random().nextInt())
 | 
			
		||||
				.applyTo(this.context);
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +75,6 @@ public class DataSourceInitializerTests {
 | 
			
		|||
 | 
			
		||||
	@After
 | 
			
		||||
	public void restore() {
 | 
			
		||||
		EmbeddedDatabaseConnection.override = null;
 | 
			
		||||
		if (this.context != null) {
 | 
			
		||||
			this.context.close();
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,6 +18,8 @@ package org.springframework.boot.autoconfigure.jdbc;
 | 
			
		|||
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
 | 
			
		||||
import static org.assertj.core.api.Assertions.assertThat;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,7 +45,6 @@ public class HikariDataSourceConfigurationTests {
 | 
			
		|||
		if (this.context != null) {
 | 
			
		||||
			this.context.close();
 | 
			
		||||
		}
 | 
			
		||||
		EmbeddedDatabaseConnection.override = null;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,6 @@ import javax.sql.DataSource;
 | 
			
		|||
import org.apache.tomcat.jdbc.pool.DataSourceProxy;
 | 
			
		||||
import org.apache.tomcat.jdbc.pool.PoolProperties;
 | 
			
		||||
import org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport;
 | 
			
		||||
import org.junit.After;
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -56,11 +55,6 @@ public class TomcatDataSourceConfigurationTests {
 | 
			
		|||
		TestPropertyValues.of(PREFIX + "initialize:false").applyTo(this.context);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@After
 | 
			
		||||
	public void restore() {
 | 
			
		||||
		EmbeddedDatabaseConnection.override = null;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void testDataSourceExists() throws Exception {
 | 
			
		||||
		this.context.register(TomcatDataSourceConfiguration.class);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -107,8 +107,7 @@ public class QuartzAutoConfigurationTests {
 | 
			
		|||
		load(new Class<?>[] { QuartzJobsConfiguration.class,
 | 
			
		||||
				EmbeddedDataSourceConfiguration.class,
 | 
			
		||||
				DataSourceTransactionManagerAutoConfiguration.class },
 | 
			
		||||
				"spring.quartz.job-store-type=jdbc",
 | 
			
		||||
				"spring.quartz.jdbc.initialize-schema=always");
 | 
			
		||||
				"spring.quartz.job-store-type=jdbc");
 | 
			
		||||
		testWithDataSource();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -116,8 +115,7 @@ public class QuartzAutoConfigurationTests {
 | 
			
		|||
	public void withDataSourceNoTransactionManager() throws Exception {
 | 
			
		||||
		load(new Class<?>[] { QuartzJobsConfiguration.class,
 | 
			
		||||
				EmbeddedDataSourceConfiguration.class },
 | 
			
		||||
				"spring.quartz.job-store-type=jdbc",
 | 
			
		||||
				"spring.quartz.jdbc.initialize-schema=always");
 | 
			
		||||
				"spring.quartz.job-store-type=jdbc");
 | 
			
		||||
		testWithDataSource();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ import org.junit.Test;
 | 
			
		|||
import org.junit.rules.ExpectedException;
 | 
			
		||||
 | 
			
		||||
import org.springframework.beans.DirectFieldAccessor;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializerMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.DatabaseInitializationMode;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration;
 | 
			
		||||
| 
						 | 
				
			
			@ -57,7 +57,7 @@ public class SessionAutoConfigurationJdbcTests
 | 
			
		|||
				.isEqualTo("SPRING_SESSION");
 | 
			
		||||
		assertThat(
 | 
			
		||||
				this.context.getBean(JdbcSessionProperties.class).getInitializeSchema())
 | 
			
		||||
						.isEqualTo(DatabaseInitializerMode.EMBEDDED);
 | 
			
		||||
						.isEqualTo(DatabaseInitializationMode.EMBEDDED);
 | 
			
		||||
		assertThat(this.context.getBean(JdbcOperations.class)
 | 
			
		||||
				.queryForList("select * from SPRING_SESSION")).isEmpty();
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -74,7 +74,7 @@ public class SessionAutoConfigurationJdbcTests
 | 
			
		|||
				.isEqualTo("SPRING_SESSION");
 | 
			
		||||
		assertThat(
 | 
			
		||||
				this.context.getBean(JdbcSessionProperties.class).getInitializeSchema())
 | 
			
		||||
						.isEqualTo(DatabaseInitializerMode.NEVER);
 | 
			
		||||
						.isEqualTo(DatabaseInitializationMode.NEVER);
 | 
			
		||||
		this.thrown.expect(BadSqlGrammarException.class);
 | 
			
		||||
		assertThat(this.context.getBean(JdbcOperations.class)
 | 
			
		||||
				.queryForList("select * from SPRING_SESSION")).isEmpty();
 | 
			
		||||
| 
						 | 
				
			
			@ -93,7 +93,7 @@ public class SessionAutoConfigurationJdbcTests
 | 
			
		|||
				.isEqualTo("FOO_BAR");
 | 
			
		||||
		assertThat(
 | 
			
		||||
				this.context.getBean(JdbcSessionProperties.class).getInitializeSchema())
 | 
			
		||||
						.isEqualTo(DatabaseInitializerMode.EMBEDDED);
 | 
			
		||||
						.isEqualTo(DatabaseInitializationMode.EMBEDDED);
 | 
			
		||||
		assertThat(this.context.getBean(JdbcOperations.class)
 | 
			
		||||
				.queryForList("select * from FOO_BAR")).isEmpty();
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -132,7 +132,7 @@ content into your application; rather pick only the properties that you need.
 | 
			
		|||
	# QUARTZ SCHEDULER ({sc-spring-boot-autoconfigure}/quartz/QuartzProperties.{sc-ext}[QuartzProperties])
 | 
			
		||||
	spring.quartz.job-store-type=memory # Quartz job store type.
 | 
			
		||||
	spring.quartz.properties.*= # Additional Quartz Scheduler properties.
 | 
			
		||||
	spring.quartz.jdbc.initialize-schema=embedded # Quartz Scheduler database schema initialization mode.
 | 
			
		||||
	spring.quartz.jdbc.initialize-schema=embedded # Database schema initialization mode.
 | 
			
		||||
	spring.quartz.jdbc.schema=classpath:org/quartz/impl/jdbcjobstore/tables_@@platform@@.sql # Path to the SQL file to use to initialize the database schema.
 | 
			
		||||
 | 
			
		||||
	# Reactor
 | 
			
		||||
| 
						 | 
				
			
			@ -416,7 +416,7 @@ content into your application; rather pick only the properties that you need.
 | 
			
		|||
	# SPRING SESSION ({sc-spring-boot-autoconfigure}/session/SessionProperties.{sc-ext}[SessionProperties])
 | 
			
		||||
	spring.session.hazelcast.flush-mode=on-save # Sessions flush mode.
 | 
			
		||||
	spring.session.hazelcast.map-name=spring:session:sessions # Name of the map used to store sessions.
 | 
			
		||||
	spring.session.jdbc.initialize-schema=embedded # Spring Session database schema initialization mode.
 | 
			
		||||
	spring.session.jdbc.initialize-schema=embedded # Database schema initialization mode.
 | 
			
		||||
	spring.session.jdbc.schema=classpath:org/springframework/session/jdbc/schema-@@platform@@.sql # Path to the SQL file to use to initialize the database schema.
 | 
			
		||||
	spring.session.jdbc.table-name=SPRING_SESSION # Name of database table used to store sessions.
 | 
			
		||||
	spring.session.redis.flush-mode=on-save # Sessions flush mode.
 | 
			
		||||
| 
						 | 
				
			
			@ -942,14 +942,14 @@ content into your application; rather pick only the properties that you need.
 | 
			
		|||
	spring.artemis.user= # Login user of the broker.
 | 
			
		||||
 | 
			
		||||
	# SPRING BATCH ({sc-spring-boot-autoconfigure}/batch/BatchProperties.{sc-ext}[BatchProperties])
 | 
			
		||||
	spring.batch.initialize-schema=embedded # Spring Batch database schema initialization mode.
 | 
			
		||||
	spring.batch.initialize-schema=embedded # Database schema initialization mode.
 | 
			
		||||
	spring.batch.job.enabled=true # Execute all Spring Batch jobs in the context on startup.
 | 
			
		||||
	spring.batch.job.names= # Comma-separated list of job names to execute on startup (For instance `job1,job2`). By default, all Jobs found in the context are executed.
 | 
			
		||||
	spring.batch.schema=classpath:org/springframework/batch/core/schema-@@platform@@.sql # Path to the SQL file to use to initialize the database schema.
 | 
			
		||||
	spring.batch.table-prefix= # Table prefix for all the batch meta-data tables.
 | 
			
		||||
 | 
			
		||||
	# SPRING INTEGRATION ({sc-spring-boot-autoconfigure}/integration/IntegrationProperties.{sc-ext}[IntegrationProperties])
 | 
			
		||||
	spring.integration.jdbc.initialize-schema=embedded # Spring Integration database schema initialization mode.
 | 
			
		||||
	spring.integration.jdbc.initialize-schema=embedded # Database schema initialization mode.
 | 
			
		||||
	spring.integration.jdbc.schema=classpath:org/springframework/integration/jdbc/schema-@@platform@@.sql # Path to the SQL file to use to initialize the database schema.
 | 
			
		||||
 | 
			
		||||
	# JMS ({sc-spring-boot-autoconfigure}/jms/JmsProperties.{sc-ext}[JmsProperties])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1935,12 +1935,16 @@ data.
 | 
			
		|||
[[howto-initialize-a-spring-batch-database]]
 | 
			
		||||
=== Initialize a Spring Batch database
 | 
			
		||||
If you are using Spring Batch then it comes pre-packaged with SQL initialization scripts
 | 
			
		||||
for most popular database platforms. Spring Boot will detect your database type, and
 | 
			
		||||
execute those scripts by default when using an embedded database, and in this case will
 | 
			
		||||
switch the fail fast setting to false (errors are logged but do not prevent the
 | 
			
		||||
application from starting). This is because the scripts are known to be reliable and
 | 
			
		||||
generally do not contain bugs, so errors are ignorable, and ignoring them makes the
 | 
			
		||||
scripts idempotent. You can switch off the initialization explicitly using
 | 
			
		||||
for most popular database platforms. Spring Boot can detect your database type and
 | 
			
		||||
execute those scripts on startup. If you are using an embedded database this happens
 | 
			
		||||
by default. You can also enable it for any database type:
 | 
			
		||||
 | 
			
		||||
[indent=0,subs="verbatim,quotes,attributes"]
 | 
			
		||||
----
 | 
			
		||||
	spring.batch.initialize-schema=always
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
You can also switch off the initialization explicitly using
 | 
			
		||||
`spring.batch.initialize-schema=never`.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,7 +26,7 @@ import java.lang.annotation.Target;
 | 
			
		|||
import javax.sql.DataSource;
 | 
			
		||||
 | 
			
		||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.boot.test.autoconfigure.properties.PropertyMapping;
 | 
			
		||||
import org.springframework.boot.test.autoconfigure.properties.SkipPropertyMapping;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,7 +34,7 @@ import org.springframework.boot.autoconfigure.AutoConfigureBefore;
 | 
			
		|||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 | 
			
		||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.context.EnvironmentAware;
 | 
			
		||||
import org.springframework.context.annotation.Bean;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ import org.junit.runner.RunWith;
 | 
			
		|||
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
import org.springframework.test.context.junit4.SpringRunner;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ import org.junit.runner.RunWith;
 | 
			
		|||
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.context.annotation.Bean;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ import org.junit.runner.RunWith;
 | 
			
		|||
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.context.annotation.Bean;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ import org.junit.runner.RunWith;
 | 
			
		|||
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.context.annotation.Configuration;
 | 
			
		||||
import org.springframework.test.context.TestPropertySource;
 | 
			
		||||
import org.springframework.test.context.junit4.SpringRunner;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,7 +24,7 @@ import org.junit.Test;
 | 
			
		|||
import org.junit.runner.RunWith;
 | 
			
		||||
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
 | 
			
		||||
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
 | 
			
		||||
import org.springframework.test.context.junit4.SpringRunner;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright 2012-2016 the original author or authors.
 | 
			
		||||
 * Copyright 2012-2017 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -14,7 +14,7 @@
 | 
			
		|||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package org.springframework.boot.autoconfigure.jdbc;
 | 
			
		||||
package org.springframework.boot.jdbc;
 | 
			
		||||
 | 
			
		||||
import java.sql.Connection;
 | 
			
		||||
import java.sql.SQLException;
 | 
			
		||||
| 
						 | 
				
			
			@ -109,11 +109,6 @@ public enum EmbeddedDatabaseConnection {
 | 
			
		|||
		return String.format(this.url, databaseName);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Override for testing.
 | 
			
		||||
	 */
 | 
			
		||||
	static EmbeddedDatabaseConnection override;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Convenience method to determine if a given driver class name represents an embedded
 | 
			
		||||
	 * database type.
 | 
			
		||||
| 
						 | 
				
			
			@ -149,9 +144,6 @@ public enum EmbeddedDatabaseConnection {
 | 
			
		|||
	 * @return an {@link EmbeddedDatabaseConnection} or {@link #NONE}.
 | 
			
		||||
	 */
 | 
			
		||||
	public static EmbeddedDatabaseConnection get(ClassLoader classLoader) {
 | 
			
		||||
		if (override != null) {
 | 
			
		||||
			return override;
 | 
			
		||||
		}
 | 
			
		||||
		for (EmbeddedDatabaseConnection candidate : EmbeddedDatabaseConnection.values()) {
 | 
			
		||||
			if (candidate != NONE && ClassUtils.isPresent(candidate.getDriverClassName(),
 | 
			
		||||
					classLoader)) {
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright 2012-2016 the original author or authors.
 | 
			
		||||
 * Copyright 2012-2017 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -14,7 +14,7 @@
 | 
			
		|||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package org.springframework.boot.autoconfigure.jdbc;
 | 
			
		||||
package org.springframework.boot.jdbc;
 | 
			
		||||
 | 
			
		||||
import org.junit.Rule;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
		Loading…
	
		Reference in New Issue