List of usage examples for org.springframework.jdbc.datasource DataSourceTransactionManager DataSourceTransactionManager
public DataSourceTransactionManager(DataSource dataSource)
From source file:org.unitils.database.DatabaseModule.java
public void registerTransactionManagementConfiguration(final DataSourceWrapper wrapper) { // Make sure that a spring DataSourceTransactionManager is used for transaction management, if // no other transaction management configuration takes preference registerTransactionManagementConfiguration(new UnitilsTransactionManagementConfiguration() { public boolean isApplicableFor(Object testObject) { return true; }//w ww . j a v a 2 s . co m public PlatformTransactionManager getSpringPlatformTransactionManager(Object testObject) { return new DataSourceTransactionManager(wrapper.getDataSourceAndActivateTransactionIfNeeded()); } public boolean isTransactionalResourceAvailable(Object testObject) { return wrapper.isDataSourceLoaded(); } public Integer getPreference() { return 1; } }); }
From source file:test.jdbc.datasource.DataSourceInitializer.java
private void doExecuteScript(final Resource scriptResource) { if (scriptResource == null || !scriptResource.exists()) return;/*from w ww. j a v a 2 s. c o m*/ final JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); String[] scripts; try { String[] list = StringUtils.delimitedListToStringArray( stripComments(IOUtils.readLines(scriptResource.getInputStream())), ";"); scripts = list; } catch (IOException e) { throw new BeanInitializationException("Cannot load script from [" + scriptResource + "]", e); } for (int i = 0; i < scripts.length; i++) { final String script = scripts[i].trim(); TransactionTemplate transactionTemplate = new TransactionTemplate( new DataSourceTransactionManager(dataSource)); transactionTemplate.execute(new TransactionCallback<Void>() { @Override public Void doInTransaction(TransactionStatus status) { if (StringUtils.hasText(script)) { try { jdbcTemplate.execute(script); } catch (DataAccessException e) { if (!script.toUpperCase().startsWith("DROP")) { throw e; } } } return null; } }); } }