List of usage examples for org.springframework.jdbc.datasource DataSourceTransactionManager DataSourceTransactionManager
public DataSourceTransactionManager(DataSource dataSource)
From source file:dao.ScriptFinderDAO.java
public static ObjectNode getPagedScripts(JsonNode filterOpt, int page, int size) { ObjectNode result = Json.newObject(); javax.sql.DataSource ds = getJdbcTemplate().getDataSource(); DataSourceTransactionManager tm = new DataSourceTransactionManager(ds); TransactionTemplate txTemplate = new TransactionTemplate(tm); String scriptName = null;//from w ww . ja v a 2 s . c o m String scriptPath = null; String scriptType = null; String chainName = null; String jobName = null; String committerName = null; String committerEmail = null; if (filterOpt != null && (filterOpt.isContainerNode())) { if (filterOpt.has("scriptName")) { scriptName = filterOpt.get("scriptName").asText(); } if (filterOpt.has("scriptPath")) { scriptPath = filterOpt.get("scriptPath").asText(); } if (filterOpt.has("scriptType")) { scriptType = filterOpt.get("scriptType").asText(); } if (filterOpt.has("chainName")) { chainName = filterOpt.get("chainName").asText(); } if (filterOpt.has("jobName")) { jobName = filterOpt.get("jobName").asText(); } if (filterOpt.has("committerName")) { committerName = filterOpt.get("committerName").asText(); } if (filterOpt.has("committerEmail")) { committerEmail = filterOpt.get("committerEmail").asText(); } } final String finalScriptName = scriptName; final String finalScriptPath = scriptPath; final String finalScriptType = scriptType; final String finalChainName = chainName; final String finalJobName = jobName; final String finalCommitterName = committerName; result = txTemplate.execute(new TransactionCallback<ObjectNode>() { public ObjectNode doInTransaction(TransactionStatus status) { List<Map<String, Object>> rows = null; String whereClause = ""; boolean needAnd = false; Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(finalScriptName)) { if (StringUtils.isBlank(whereClause)) { whereClause = " WHERE "; } if (needAnd) { whereClause += " AND "; } whereClause += " script_name like :scriptname "; needAnd = true; params.put("scriptname", "%" + finalScriptName + "%"); } if (StringUtils.isNotBlank(finalScriptPath)) { if (StringUtils.isBlank(whereClause)) { whereClause = " WHERE "; } if (needAnd) { whereClause += " AND "; } whereClause += " script_path like :scriptpath "; needAnd = true; params.put("scriptpath", "%" + finalScriptPath + "%"); } if (StringUtils.isNotBlank(finalScriptType)) { if (StringUtils.isBlank(whereClause)) { whereClause = " WHERE "; } if (needAnd) { whereClause += " AND "; } whereClause += " script_type like :scripttype "; needAnd = true; params.put("scripttype", "%" + finalScriptType + "%"); } if (StringUtils.isNotBlank(finalChainName)) { if (StringUtils.isBlank(whereClause)) { whereClause = " WHERE "; } if (needAnd) { whereClause += " AND "; } whereClause += " chain_name like :chainname "; needAnd = true; params.put("chainname", "%" + finalChainName + "%"); } if (StringUtils.isNotBlank(finalJobName)) { if (StringUtils.isBlank(whereClause)) { whereClause = " WHERE "; } if (needAnd) { whereClause += " AND "; } whereClause += " job_name like :jobname "; needAnd = true; params.put("jobname", "%" + finalJobName + "%"); } if (StringUtils.isNotBlank(finalCommitterName)) { if (StringUtils.isBlank(whereClause)) { whereClause = " WHERE "; } if (needAnd) { whereClause += " AND "; } whereClause += " ( committer_ldap like :committername or committer_name like :committername )"; needAnd = true; params.put("committername", "%" + finalCommitterName + "%"); } String query = GET_PAGED_SCRIPTS.replace("$WHERE_CLAUSE", whereClause); params.put("index", (page - 1) * size); params.put("size", size); NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate( getJdbcTemplate().getDataSource()); rows = namedParameterJdbcTemplate.queryForList(query, params); long count = 0; try { count = getJdbcTemplate().queryForObject("SELECT FOUND_ROWS()", Long.class); } catch (EmptyResultDataAccessException e) { Logger.error("Exception = " + e.getMessage()); } List<ScriptInfo> pagedScripts = new ArrayList<ScriptInfo>(); for (Map row : rows) { int applicationID = (Integer) row.get(ScriptInfoRowMapper.APPLICATION_ID_COLUMN); int jobID = (Integer) row.get(ScriptInfoRowMapper.JOB_ID_COLUMN); String scriptUrl = (String) row.get(ScriptInfoRowMapper.SCRIPT_URL_COLUMN); String scriptPath = (String) row.get(ScriptInfoRowMapper.SCRIPT_PATH_COLUMN); String scriptType = (String) row.get(ScriptInfoRowMapper.SCRIPT_TYPE_COLUMN); String chainName = (String) row.get(ScriptInfoRowMapper.CHAIN_NAME_COLUMN); String jobName = (String) row.get(ScriptInfoRowMapper.JOB_NAME_COLUMN); String scriptName = (String) row.get(ScriptInfoRowMapper.SCRIPT_NAME_COLUMN); String committerName = (String) row.get(ScriptInfoRowMapper.COMMITTER_NAMES_COLUMN); String committerEmail = (String) row.get(ScriptInfoRowMapper.COMMITTER_EMAILS_COLUMN); ScriptInfo scriptInfo = new ScriptInfo(); scriptInfo.applicationID = applicationID; scriptInfo.jobID = jobID; scriptInfo.scriptUrl = scriptUrl; scriptInfo.scriptPath = scriptPath; scriptInfo.scriptType = scriptType; scriptInfo.scriptName = scriptName; scriptInfo.chainName = chainName; scriptInfo.jobName = jobName; scriptInfo.committerName = committerName; scriptInfo.committerEmail = committerEmail; pagedScripts.add(scriptInfo); } ObjectNode resultNode = Json.newObject(); resultNode.put("count", count); resultNode.put("page", page); resultNode.put("itemsPerPage", size); resultNode.put("totalPages", (int) Math.ceil(count / ((double) size))); resultNode.set("scripts", Json.toJson(pagedScripts)); return resultNode; } }); return result; }
From source file:org.dalesbred.integration.spring.SpringConfigurationTest.java
@Test public void rollbackForSpringTransactionDiscardsChangesOfDalesbred() { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(SimpleConfiguration.class); DataSource dataSource = ctx.getBean(DataSource.class); Database db = ctx.getBean(Database.class); db.update("drop table if exists spring_tx_test"); db.update("create table spring_tx_test (id int)"); new TransactionTemplate(new DataSourceTransactionManager(dataSource)).execute(status -> { db.update("insert into spring_tx_test (id) values (1)"); status.setRollbackOnly();/*from w ww . j a va 2 s.c o m*/ return ""; }); assertThat(db.findUniqueInt("select count(*) from spring_tx_test"), is(0)); }
From source file:com.xsb.conf.Application.java
@Bean public PlatformTransactionManager txManager() { return new DataSourceTransactionManager(database()); }
From source file:net.collegeman.grails.e3db.Template.java
public static void setDefaultDataSource(DataSource dataSource) { defaultDataSource = dataSource;/*from ww w . j a v a 2 s .com*/ defaultSimpleJdbcTemplate = new SimpleJdbcTemplate(defaultDataSource); defaultTransactionTemplate = new TransactionTemplate(new DataSourceTransactionManager(defaultDataSource)); }
From source file:io.lavagna.config.PersistenceAndServiceConfig.java
@Bean public PlatformTransactionManager platformTransactionManager(DataSource dataSource) { return new DataSourceTransactionManager(dataSource); }
From source file:com.mohoo.data.collection.config.MyBatisConfig.java
@Bean public PlatformTransactionManager annotationDrivenTransactionManager() { return new DataSourceTransactionManager(dataSource); }
From source file:hoot.services.HootServicesSpringConfig.java
@Bean(name = "transactionManager") @Autowired//w w w . j ava 2 s .c o m @DependsOn("dataSource") public PlatformTransactionManager transactionManager(DataSource dataSource) { return new DataSourceTransactionManager(dataSource); }
From source file:cherry.sqlapp.service.sqltool.exec.ExecQueryServiceImpl.java
@Override public PageSet query(String databaseName, final QueryBuilder queryBuilder, final Map<String, ?> paramMap, final long pageNo, final long pageSz, final Consumer consumer) { final DataSource dataSource = dataSourceDef.getDataSource(databaseName); PlatformTransactionManager txMgr = new DataSourceTransactionManager(dataSource); DefaultTransactionDefinition txDef = new DefaultTransactionDefinition(); txDef.setReadOnly(true);//from ww w .j a va 2 s .co m TransactionOperations txOp = new TransactionTemplate(txMgr, txDef); return txOp.execute(new TransactionCallback<PageSet>() { @Override public PageSet doInTransaction(TransactionStatus status) { try { long count = count(dataSource, queryBuilder.buildCount(), paramMap); PageSet pageSet = paginator.paginate(pageNo, count, pageSz); long numOfItems = extractor.extract(dataSource, queryBuilder.build(pageSz, pageSet.getCurrent().getFrom()), paramMap, consumer, new NoneLimiter()); if (numOfItems != pageSet.getCurrent().getCount()) { throw new IllegalStateException(); } return pageSet; } catch (IOException ex) { throw new IllegalStateException(ex); } } }); }
From source file:de.codecentric.batch.configuration.TaskExecutorBatchConfigurer.java
@Autowired public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; this.transactionManager = new DataSourceTransactionManager(dataSource); }
From source file:com.create.mybatis.repository.config.MyBatisAutoConfiguration.java
@Bean @ConditionalOnMissingBean/*from www . ja v a 2 s . c om*/ public PlatformTransactionManager transactionManager(final DataSource dataSource) throws Exception { return new DataSourceTransactionManager(dataSource); }