Example usage for org.springframework.jdbc.datasource.init DataSourceInitializer setDatabasePopulator

List of usage examples for org.springframework.jdbc.datasource.init DataSourceInitializer setDatabasePopulator

Introduction

In this page you can find the example usage for org.springframework.jdbc.datasource.init DataSourceInitializer setDatabasePopulator.

Prototype

public void setDatabasePopulator(DatabasePopulator databasePopulator) 

Source Link

Document

Set the DatabasePopulator to execute during the bean initialization phase.

Usage

From source file:org.springframework.cloud.stream.app.jdbc.sink.JdbcSinkConfiguration.java

@ConditionalOnProperty("jdbc.initialize")
@Bean//from  www.  j ava  2  s. c  om
public DataSourceInitializer nonBootDataSourceInitializer(DataSource dataSource,
        ResourceLoader resourceLoader) {
    DataSourceInitializer dataSourceInitializer = new DataSourceInitializer();
    dataSourceInitializer.setDataSource(dataSource);
    ResourceDatabasePopulator databasePopulator = new ResourceDatabasePopulator();
    databasePopulator.setIgnoreFailedDrops(true);
    dataSourceInitializer.setDatabasePopulator(databasePopulator);
    if ("true".equals(properties.getInitialize())) {
        databasePopulator.addScript(new DefaultInitializationScriptResource(properties));
    } else {
        databasePopulator.addScript(resourceLoader.getResource(properties.getInitialize()));
    }
    return dataSourceInitializer;
}

From source file:org.cloudfoundry.workers.stocks.batch.BatchConfiguration.java

/**
 * We have to have certain records and certain tables for our application to
 * work correctly. This object will be used to ensure that certain
 * <CODE>sql</CODE> files are executed on application startup.
 * //from www .j a  v a 2s  .  c om
 * TODO make the SQL a little smarter about not recreating the tables unless
 * they don't exist.
 * 
 */
@Bean
public DataSourceInitializer dataSourceInitializer() {
    DataSourceInitializer dsi = new DataSourceInitializer();
    dsi.setDataSource(dsConfig.dataSource());
    ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
    String[] scripts = "/batch_%s.sql,/stocks_%s.sql".split(",");
    String scriptSuffix = cloudEnvironment().isCloudFoundry() ? "psql" : "h2";
    for (String s : scripts) {
        ClassPathResource classPathResource = new ClassPathResource(String.format(s, scriptSuffix));
        resourceDatabasePopulator.addScript(classPathResource);
    }
    dsi.setDatabasePopulator(resourceDatabasePopulator);
    dsi.setEnabled(true);
    return dsi;
}

From source file:org.finra.dm.dao.config.DaoEnvTestSpringModuleConfig.java

/**
 * This is a data source initializer which is used to make changes to the auto-created schema based on JPA annotations and to insert reference data. This
 * bean is an InitializingBean which means it will automatically get invoked when the Spring test context creates all its beans. This approach will work for
 * making changes to the auto-created schema which got created based on other DAO beans having been created.
 *
 * @return the data source initializer.//  w ww.j a v  a 2  s .c o  m
 */
@Bean
public static DataSourceInitializer dataSourceInitializer() {
    ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
    resourceDatabasePopulator.addScript(new ClassPathResource("alterJpaTablesAndInsertReferenceData.sql"));

    DataSourceInitializer dataSourceInitializer = new DataSourceInitializer();
    dataSourceInitializer.setDataSource(dmDataSource());
    dataSourceInitializer.setDatabasePopulator(resourceDatabasePopulator);
    return dataSourceInitializer;
}

From source file:org.finra.herd.dao.config.DaoEnvTestSpringModuleConfig.java

/**
 * This is a data source initializer which is used to make changes to the auto-created schema based on JPA annotations and to insert reference data. This
 * bean is an InitializingBean which means it will automatically get invoked when the Spring test context creates all its beans. This approach will work for
 * making changes to the auto-created schema which got created based on other DAO beans having been created.
 *
 * @return the data source initializer.//from  w  w w. j  ava  2  s  . c o  m
 */
@Bean
public static DataSourceInitializer dataSourceInitializer() {
    ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
    resourceDatabasePopulator.addScript(new ClassPathResource("alterJpaTablesAndInsertReferenceData.sql"));

    DataSourceInitializer dataSourceInitializer = new DataSourceInitializer();
    dataSourceInitializer.setDataSource(herdDataSource());
    dataSourceInitializer.setDatabasePopulator(resourceDatabasePopulator);
    return dataSourceInitializer;
}