Example usage for org.springframework.jdbc.datasource DataSourceTransactionManager DataSourceTransactionManager

List of usage examples for org.springframework.jdbc.datasource DataSourceTransactionManager DataSourceTransactionManager

Introduction

In this page you can find the example usage for org.springframework.jdbc.datasource DataSourceTransactionManager DataSourceTransactionManager.

Prototype

public DataSourceTransactionManager(DataSource dataSource) 

Source Link

Document

Create a new DataSourceTransactionManager instance.

Usage

From source file:org.dcache.chimera.FsFactory.java

public static FileSystemProvider createFileSystem(String url, String user, String password)
        throws ChimeraFsException, SQLException {
    DataSource dataSource = getDataSource(url, user, password);
    PlatformTransactionManager txManager = new DataSourceTransactionManager(dataSource);
    return new JdbcFs(dataSource, txManager);
}

From source file:com.mycompany.geocoordinate.config.DataConfig.java

@Bean
public DataSourceTransactionManager transactionManager() {
    return new DataSourceTransactionManager(getDataSource());
}

From source file:nl.tranquilizedquality.itest.configuration.CommonDBConfiguration.java

@Bean(name = "transactionManager")
public DataSourceTransactionManager dataSourceTransactionManager(final SingleConnectionDataSource dataSource) {

    return new DataSourceTransactionManager(dataSource);
}

From source file:de.brands4friends.daleq.integration.config.IntegrationConfig.java

@Bean
public PlatformTransactionManager transactionManager() {
    return new DataSourceTransactionManager(dbConfig.dataSource());
}

From source file:org.khmeracademy.btb.auc.pojo.configuration.MainConfiguration.java

@Bean
public DataSourceTransactionManager transactionManager() {
    return new DataSourceTransactionManager(dataSource);
}

From source file:com.azaptree.services.security.config.spring.DatabaseSpringConfiguration.java

@Override
public PlatformTransactionManager annotationDrivenTransactionManager() {
    return new DataSourceTransactionManager(securityServiceDataSource());
}

From source file:cz.fi.muni.pv168.SpringConfig.java

@Bean
PlatformTransactionManager transactionManager() {
    return new DataSourceTransactionManager(dataSource());
}

From source file:com.github.akiraly.db4j.CommonDbConfig.java

@Bean
public PlatformTransactionManager transactionManager(DataSource dataSource) {
    return new DataSourceTransactionManager(dataSource);
}

From source file:com.foilen.smalltools.upgrader.tasks.AbstractFlywayMigrateOffUpgradeTask.java

@Override
public void execute() {
    DataSourceTransactionManager transactionManager = new DataSourceTransactionManager(
            jdbcTemplate.getDataSource());

    // Check if the schema_version table exists
    List<String> tableNames = mysqlTablesFindAll();
    List<String> executed;
    if (tableNames.contains("schema_version")) {
        executed = jdbcTemplate.queryForList("SELECT script FROM schema_version WHERE success = 1",
                String.class);
        jdbcTemplate.update("DELETE FROM schema_version WHERE success = 0");
    } else {//ww w .  j  a v a2 s  .c o  m
        executed = new ArrayList<>();
        logger.info("Flyway table does not exists. Creating it");
        updateFromResource("flyway-schema_version.sql", AbstractFlywayMigrateOffUpgradeTask.class);
    }

    PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
    AntPathMatcher pathMatcher = new AntPathMatcher();
    resolver.setPathMatcher(pathMatcher);
    Resource[] resources;
    try {
        resources = resolver.getResources("classpath:db/migration/*.sql");
    } catch (IOException e) {
        throw new SmallToolsException("Problem getting the sql files", e);
    }

    int rank = executed.size() + 1;
    List<String> scriptNames = Arrays.asList(resources).stream() //
            .map(Resource::getFilename) //
            .sorted() //
            .collect(Collectors.toList());
    for (String scriptName : scriptNames) {
        boolean needRetry = true;
        if (executed.contains(scriptName)) {
            logger.info("[{}] Already executed. Skip", scriptName);
        } else {
            logger.info("[{}] To execute", scriptName);
            for (int retryCount = 0; needRetry; ++retryCount) {
                needRetry = false;
                TransactionStatus transactionStatus = transactionManager
                        .getTransaction(new DefaultTransactionDefinition());
                try {
                    // Do the update
                    updateFromResource("/db/migration/" + scriptName);

                    // Save in schema_version
                    jdbcTemplate.update("INSERT INTO schema_version " //
                            + "(version_rank, installed_rank, version, description, type, script, installed_by, execution_time, success) " //
                            + "VALUES (?,?,?,'','SQL',?,'upgrader',1, 1)", //
                            rank, rank, //
                            scriptName.substring(0, Math.min(50, scriptName.length())), //
                            scriptName //
                    );
                    ++rank;
                    transactionManager.commit(transactionStatus);
                } catch (Exception e) {
                    logger.warn("[{}] Problem executing script. Will purge the connections and retry",
                            scriptName);
                    transactionManager.rollback(transactionStatus);
                    needRetry = true;
                    purgeConnections();
                    if (retryCount > 5) {
                        throw new SmallToolsException("Problem executing script: " + scriptName, e);
                    }
                }

            }
        }
    }

    if (deleteSchemaTable) {
        logger.info("Deleting the Flyway schema_version table");
        jdbcTemplate.update("DROP TABLE schema_version");
    }

}

From source file:org.mybatis.spring.AbstractMyBatisSpringTest.java

@BeforeClass
public static void setupBase() throws Exception {
    // create an SqlSessionFactory that will use SpringManagedTransactions
    SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
    factoryBean/*from  www  .  java  2s  .  c  om*/
            .setMapperLocations(new Resource[] { new ClassPathResource("org/mybatis/spring/TestMapper.xml") });
    // note running without SqlSessionFactoryBean.configLocation set => default configuration
    factoryBean.setDataSource(dataSource);
    factoryBean.setPlugins(new Interceptor[] { executorInterceptor });

    exceptionTranslator = new MyBatisExceptionTranslator(dataSource, true);

    sqlSessionFactory = factoryBean.getObject();

    txManager = new DataSourceTransactionManager(dataSource);
}