List of usage examples for org.springframework.jdbc.datasource DataSourceTransactionManager DataSourceTransactionManager
public DataSourceTransactionManager(DataSource dataSource)
From source file:com.company.project.config.DataConfig.java
@Bean(name = "txManager") public PlatformTransactionManager txManager() { return new DataSourceTransactionManager(dataSource()); }
From source file:org.geowebcache.diskquota.jdbc.JDBCQuotaStore.java
/** * Sets the connection pool provider and initializes the tables in the dbms if missing *//*from w w w . j a va 2s. c om*/ public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; DataSourceTransactionManager dsTransactionManager = new DataSourceTransactionManager(dataSource); this.tt = new TransactionTemplate(dsTransactionManager); this.jt = new SimpleJdbcTemplate(dsTransactionManager.getDataSource()); }
From source file:com.miserablemind.butter.bootstrap.RootContext.java
/** * Transaction Manager bean.//w w w . j a v a 2s . co m * In order to use transactions in {@link BasicDataSource}, the methods have to be annotated @Transactional. * The annotation should be used on implementations of service layer methods rather than interfaces. * For MySQL transactions to work database tables have to use InnoDB engine. * * @return {@link DataSourceTransactionManager} bean. */ @Bean public PlatformTransactionManager txManager() { return new DataSourceTransactionManager(dataSource()); }
From source file:io.nflow.jetty.config.NflowJettyConfiguration.java
@Bean public PlatformTransactionManager transactionManager(@NFlow DataSource nflowDataSource) { return new DataSourceTransactionManager(nflowDataSource); }
From source file:dk.nsi.haiba.lprimporter.integrationtest.LPRIntegrationTestConfiguration.java
@Bean public PlatformTransactionManager haibaTransactionManager(@Qualifier("haibaDataSource") DataSource ds) { return new DataSourceTransactionManager(ds); }
From source file:org.surfnet.cruncher.config.SpringConfiguration.java
@Bean public PlatformTransactionManager transactionManager() { return new DataSourceTransactionManager(cruncherDataSource()); }
From source file:dk.nsi.haiba.epimibaimporter.config.EPIMIBAConfiguration.java
@Bean @Qualifier("haibaTransactionManager") public PlatformTransactionManager haibaTransactionManager(@Qualifier("haibaDataSource") DataSource ds) { return new DataSourceTransactionManager(ds); }
From source file:org.ohmage.query.impl.UserCampaignQueries.java
@Override public void createUserCampaignMask(final CampaignMask mask) throws DataAccessException { // Create the transaction. DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setName("Creating an observer."); try {//from w w w .j av a 2 s . c o m // Begin the transaction. PlatformTransactionManager transactionManager = new DataSourceTransactionManager(getDataSource()); TransactionStatus status = transactionManager.getTransaction(def); // Campaign mask creation SQL. final String campaignMaskSql = "INSERT INTO campaign_mask(" + "assigner_user_id, " + "assignee_user_id, " + "campaign_id, " + "mask_id, " + "creation_time) " + "VALUES (" + "(SELECT id FROM user WHERE username = ?), " + "(SELECT id FROM user WHERE username = ?), " + "(SELECT id FROM campaign WHERE urn = ?), " + "?, " + "?)"; // Campaign mask creation statement with parameters. PreparedStatementCreator maskCreator = new PreparedStatementCreator() { /* * (non-Javadoc) * @see org.springframework.jdbc.core.PreparedStatementCreator#createPreparedStatement(java.sql.Connection) */ @Override public PreparedStatement createPreparedStatement(final Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement(campaignMaskSql, new String[] { "id" }); ps.setString(1, mask.getAssignerUserId()); ps.setString(2, mask.getAssigneeUserId()); ps.setString(3, mask.getCampaignId()); ps.setString(4, mask.getId().toString()); ps.setLong(5, mask.getCreationTime().getMillis()); return ps; } }; // The auto-generated key for the observer. KeyHolder maskKeyHolder = new GeneratedKeyHolder(); // Create the observer. try { getJdbcTemplate().update(maskCreator, maskKeyHolder); } catch (org.springframework.dao.DataAccessException e) { transactionManager.rollback(status); throw new DataAccessException("Error executing SQL '" + campaignMaskSql + "' with parameters: " + mask.getAssignerUserId() + ", " + mask.getAssigneeUserId() + ", " + mask.getCampaignId() + ", " + mask.getId().toString() + ", " + mask.getCreationTime().getMillis(), e); } // Get the mask's DB ID. long key = maskKeyHolder.getKey().longValue(); // Create each of the masks. final String campaignMaskPromptIdSql = "INSERT INTO campaign_mask_survey_prompt_map(" + "campaign_mask_id, " + "survey_id, " + "prompt_id)" + "VALUES (?, ?, ?)"; // Get the survey IDs from the mask. Map<String, Set<String>> promptIds = mask.getSurveyPromptMap(); // Create the list of parameters for each of the survey IDs. List<Object[]> maskPromptIdParameters = new ArrayList<Object[]>(promptIds.size()); // Cycle through the survey IDs building the parameters list. for (String surveyId : promptIds.keySet()) { for (String promptId : promptIds.get(surveyId)) { maskPromptIdParameters.add(new Object[] { key, surveyId, promptId }); } } // Add the mask survey IDs. getJdbcTemplate().batchUpdate(campaignMaskPromptIdSql, maskPromptIdParameters); // Commit the transaction. try { transactionManager.commit(status); } catch (TransactionException e) { transactionManager.rollback(status); throw new DataAccessException("Error while committing the transaction.", e); } } catch (TransactionException e) { throw new DataAccessException("Error while attempting to rollback the transaction.", e); } }
From source file:dk.nsi.haiba.lprimporter.config.LPRConfiguration.java
@Bean public PlatformTransactionManager lprTransactionManager(@Qualifier("lprDataSource") DataSource ds) { return new DataSourceTransactionManager(ds); }
From source file:org.cloudfoundry.workers.stocks.batch.BatchConfiguration.java
/** * We're working with a transactional RDBMS, so this implementation of * Spring's {@link PlatformTransactionManager} API is required in certain * cases.// w w w . ja va 2s. c om */ @Bean public PlatformTransactionManager transactionManager() { return new DataSourceTransactionManager(dsConfig.dataSource()); }