List of usage examples for org.springframework.transaction.support DefaultTransactionDefinition setPropagationBehavior
public final void setPropagationBehavior(int propagationBehavior)
From source file:nz.co.senanque.base.CustomerDAOImpl.java
@SuppressWarnings("unused") public void transactionTester() { final DefaultTransactionDefinition def = new DefaultTransactionDefinition(); // explicitly setting the transaction name is something that can only be done programmatically def.setName("SomeTxName"); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); def.setReadOnly(true);//w w w .ja va 2 s . c om final TransactionStatus status = m_txManager.getTransaction(def); Session session = getSessionFactory().getCurrentSession(); final Transaction transaction = session.getTransaction(); Query query = session.createQuery("select p from nz.co.senanque.madura.sandbox.Customer p"); @SuppressWarnings("unchecked") List<Customer> customers = query.list(); for (Customer customer : customers) { final Session session1 = getSessionFactory().openSession(); final Session currentSession = getSessionFactory().getCurrentSession(); final Transaction transaction1 = currentSession.getTransaction(); getSubTransaction().process(customer); } }
From source file:org.ohdsi.webapi.feasibility.PerformFeasibilityTasklet.java
@Override public RepeatStatus execute(final StepContribution contribution, final ChunkContext chunkContext) throws Exception { Date startTime = Calendar.getInstance().getTime(); Map<String, Object> jobParams = chunkContext.getStepContext().getJobParameters(); Integer studyId = Integer.valueOf(jobParams.get("study_id").toString()); Integer sourceId = Integer.valueOf(jobParams.get("source_id").toString()); boolean isValid = false; DefaultTransactionDefinition requresNewTx = new DefaultTransactionDefinition(); requresNewTx.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); TransactionStatus initStatus = this.transactionTemplate.getTransactionManager() .getTransaction(requresNewTx); FeasibilityStudy study = this.feasibilityStudyRepository.findOne(studyId); CohortDefinition resultDef = study.getResultRule(); if (resultDef != null) { CohortGenerationInfo resultInfo = findCohortGenerationInfoBySourceId(resultDef.getGenerationInfoList(), sourceId);//from w w w .j ava2s . c om resultInfo.setIsValid(false).setStatus(GenerationStatus.RUNNING).setStartTime(startTime) .setExecutionDuration(null); } StudyGenerationInfo studyInfo = findStudyGenerationInfoBySourceId(study.getStudyGenerationInfoList(), sourceId); studyInfo.setIsValid(false); studyInfo.setStartTime(startTime); studyInfo.setStatus(GenerationStatus.RUNNING); this.feasibilityStudyRepository.save(study); this.transactionTemplate.getTransactionManager().commit(initStatus); try { final int[] ret = this.transactionTemplate.execute(new TransactionCallback<int[]>() { @Override public int[] doInTransaction(final TransactionStatus status) { return doTask(chunkContext); } }); log.debug("Update count: " + ret.length); isValid = true; } catch (final TransactionException e) { isValid = false; log.error(e.getMessage(), e); throw e;//FAIL job status } finally { TransactionStatus completeStatus = this.transactionTemplate.getTransactionManager() .getTransaction(requresNewTx); Date endTime = Calendar.getInstance().getTime(); study = this.feasibilityStudyRepository.findOne(studyId); resultDef = study.getResultRule(); if (resultDef != null) { CohortGenerationInfo resultInfo = findCohortGenerationInfoBySourceId( resultDef.getGenerationInfoList(), sourceId); resultInfo = findCohortGenerationInfoBySourceId(resultDef.getGenerationInfoList(), sourceId); resultInfo.setIsValid(isValid); resultInfo.setExecutionDuration(new Integer((int) (endTime.getTime() - startTime.getTime()))); resultInfo.setStatus(GenerationStatus.COMPLETE); } studyInfo = findStudyGenerationInfoBySourceId(study.getStudyGenerationInfoList(), sourceId); studyInfo.setIsValid(isValid); studyInfo.setExecutionDuration(new Integer((int) (endTime.getTime() - startTime.getTime()))); studyInfo.setStatus(GenerationStatus.COMPLETE); this.feasibilityStudyRepository.save(study); this.transactionTemplate.getTransactionManager().commit(completeStatus); } return RepeatStatus.FINISHED; }
From source file:ru.apertum.qsystem.server.model.calendar.CalendarTableModel.java
/** * ./*from w w w . j ava2s. c o m*/ */ public void save() { QLog.l().logger().info("? ID = " + calcId); final DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setName("SomeTxName"); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); TransactionStatus status = Spring.getInstance().getTxManager().getTransaction(def); try { final LinkedList<FreeDay> dels = new LinkedList<>(); for (FreeDay bad : days_del) { boolean f = true; for (FreeDay good : days) { if (good.equals(bad)) { f = false; } } if (f) { dels.add(bad); } } Spring.getInstance().getHt().deleteAll(dels); Spring.getInstance().getHt().saveOrUpdateAll(days); } catch (Exception ex) { Spring.getInstance().getTxManager().rollback(status); throw new ClientException( " ? ? (JDBC).\n , , ? ? ? ?, ?.\n ? (Ctrl + S) ? ? ? ?.\n\n[" + ex.getLocalizedMessage() + "]\n(" + ex.toString() + ")"); } Spring.getInstance().getTxManager().commit(status); QLog.l().logger().debug(" "); // days_del = new ArrayList<>(days); }
From source file:org.dbflute.utflute.spring.SpringTestCase.java
protected SpringTransactionResource xregisterTransaction(SpringTransactionResource resource, final String managerKey) { final PlatformTransactionManager manager = getComponent(managerKey); final DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); final TransactionStatus status = manager.getTransaction(def); resource.registerTransaction(manager, status); return resource; }
From source file:org.businessmanager.dao.GenericDaoImpl.java
@Override public TransactionStatus getTransaction() { DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setName("CustomTransaction"); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); return txManager.getTransaction(def); }
From source file:com.krawler.spring.organizationChart.organizationChartController.java
public ModelAndView insertNode(HttpServletRequest request, HttpServletResponse response) { JSONObject jobj = new JSONObject(); JSONObject jobj1 = new JSONObject(); String retMsg = ""; //Create transaction DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setName("JE_Tx"); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED); TransactionStatus status = txnManager.getTransaction(def); try {/*from w ww. j a v a2s . co m*/ String parentid = StringUtil.checkForNull(request.getParameter("fromId")); String childid = StringUtil.checkForNull(request.getParameter("userid")); HashMap<String, Object> hm = organizationService.insertNode(parentid, childid); boolean success = Boolean.parseBoolean(hm.get("success").toString()); User parent = (User) hm.get("parent"); User child = (User) hm.get("child"); if (parent != null && child != null) { auditTrailDAOObj.insertAuditLog(AuditAction.ORGANIZATION_CHART_NODE_ASSIGNED, child.getFirstName() + " " + child.getLastName() + " re-assigned to " + parent.getFirstName() + " " + parent.getLastName(), request, "0"); } if (success) { retMsg = "{success:true}"; } else { retMsg = "{success:false,msg:\"" + messageSource.getMessage("hrms.common.not.assign.parent.node.employee.role", null, "Could not assign because, parent node has Employee role.", RequestContextUtils.getLocale(request)) + "\"}"; } jobj.put("data", retMsg); jobj1.put("valid", true); jobj1.put("data", jobj); jobj1.put("success", true); txnManager.commit(status); } catch (Exception e) { logger.warn("General exception in insertNode()", e); txnManager.rollback(status); } return new ModelAndView("jsonView", "model", jobj1.toString()); }
From source file:com.krawler.spring.organizationChart.organizationChartController.java
public ModelAndView updateNode(HttpServletRequest request, HttpServletResponse response) { JSONObject jobj = new JSONObject(); JSONObject jobj1 = new JSONObject(); String retMsg = ""; //Create transaction DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setName("JE_Tx"); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED); TransactionStatus status = txnManager.getTransaction(def); try {/*from w ww . j av a2 s. c om*/ String childid = request.getParameter("nodeid"); String parentid = request.getParameter("fromId"); HashMap<String, Object> hm = organizationService.updateNode(parentid, childid); boolean success = Boolean.parseBoolean(hm.get("success").toString()); User parent = (User) hm.get("parent"); User child = (User) hm.get("child"); if (parent != null && child != null) { auditTrailDAOObj.insertAuditLog(AuditAction.ORGANIZATION_CHART_NODE_ASSIGNED, child.getFirstName() + " " + child.getLastName() + " re-assigned to " + parent.getFirstName() + " " + parent.getLastName(), request, "0"); } if (success) { retMsg = "{success:true}"; } else { retMsg = "{success:false,msg:\"" + messageSource.getMessage("hrms.common.not.assign.parent.node.employee.role", null, "Could not assign because, parent node has Employee role.", RequestContextUtils.getLocale(request)) + "\"}"; } jobj.put("data", retMsg); jobj1.put("valid", true); jobj1.put("data", jobj); jobj1.put("success", true); txnManager.commit(status); } catch (Exception e) { logger.warn("General exception in updateNode()", e); txnManager.rollback(status); } return new ModelAndView("jsonView", "model", jobj1.toString()); }
From source file:es.tid.fiware.rss.expenditureLimit.processing.test.ProcessingLimitServiceTest.java
/** * Update control dates//from w w w. j av a2s .com * * @param controls */ private void updateDate(List<DbeExpendControl> controls) { GregorianCalendar cal = (GregorianCalendar) Calendar.getInstance(); cal.setTime(new Date()); cal.add(Calendar.DAY_OF_MONTH, 1); DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); TransactionStatus status = transactionManager.getTransaction(def); for (DbeExpendControl control : controls) { control.setDtNextPeriodStart(cal.getTime()); controlService.createOrUpdate(control); } transactionManager.commit(status); }
From source file:com.krawler.spring.organizationChart.organizationChartController.java
public ModelAndView deleteNode(HttpServletRequest request, HttpServletResponse response) { JSONObject jobj = new JSONObject(); JSONObject jobj1 = new JSONObject(); //Create transaction DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setName("JE_Tx"); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); def.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED); TransactionStatus status = txnManager.getTransaction(def); try {//from ww w .ja v a 2 s . c o m boolean success = false; String nodeid = request.getParameter("nodeId"); if (!StringUtil.isNullOrEmpty(nodeid)) { HashMap<String, Object> deleteJobj = organizationService.deleteNode(nodeid); success = Boolean.parseBoolean(deleteJobj.get("success").toString()); List<Empprofile> ll = (List<Empprofile>) deleteJobj.get("childList"); Empprofile emp = null; if (deleteJobj.get("deletedEmployee") != null) { emp = (Empprofile) deleteJobj.get("deletedEmployee"); } User parentEmp = null; if (deleteJobj.get("parentEmployee") != null) { parentEmp = (User) deleteJobj.get("parentEmployee"); } if (parentEmp != null && emp != null) { if (emp != null) { String details = emp.getUserLogin().getUserName() + " [ " + emp.getUserLogin().getUser().getFirstName() + " " + emp.getUserLogin().getUser().getLastName() + " ] Un-assigned from " + parentEmp.getFirstName() + " " + parentEmp.getLastName() + " , and removed from Organization."; auditTrailDAOObj.insertAuditLog(AuditAction.ORGANIZATION_CHART_NODE_DELETED, details, request, "0"); } for (Empprofile e : ll) { String details = e.getUserLogin().getUser().getFirstName() + " " + e.getUserLogin().getUser().getLastName() + " re-assigned to " + parentEmp.getFirstName() + " " + parentEmp.getLastName() + " "; auditTrailDAOObj.insertAuditLog(AuditAction.ORGANIZATION_CHART_NODE_ASSIGNED, details, request, "0"); } } } jobj.put("data", "{success:" + success + "}"); jobj1.put("valid", true); jobj1.put("data", jobj); jobj1.put("success", true); txnManager.commit(status); } catch (Exception e) { logger.warn("General exception in deleteNode()", e); txnManager.rollback(status); } return new ModelAndView("jsonView", "model", jobj1.toString()); }
From source file:es.tid.fiware.rss.expenditureLimit.processing.test.ProcessingLimitServiceTest.java
/** * //from w ww. j av a2 s. c o m * Check that not existing control are created. */ @Test @Transactional(propagation = Propagation.SUPPORTS) public void creationControls() { try { DbeTransaction tx = ProcessingLimitServiceTest.generateTransaction(); // Set user for testing tx.setTxEndUserId("userForCreation"); List<DbeExpendControl> controls = controlService.getExpendDataForUserAppProvCurrencyObCountry( tx.getTxEndUserId(), tx.getBmService(), tx.getTxAppProvider(), tx.getBmCurrency(), tx.getBmObMop().getBmObCountry()); Assert.assertTrue(controls.size() == 0); // Update limits. DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); TransactionStatus status = transactionManager.getTransaction(def); limitService.proccesLimit(tx); transactionManager.commit(status); controls = controlService.getExpendDataForUserAppProvCurrencyObCountry(tx.getTxEndUserId(), tx.getBmService(), tx.getTxAppProvider(), tx.getBmCurrency(), tx.getBmObMop().getBmObCountry()); Assert.assertNotNull(controls); Assert.assertTrue(controls.size() == 3); // All the new control have to be set to 0 for (DbeExpendControl control : controls) { Assert.assertTrue(control.getFtExpensedAmount().compareTo(new BigDecimal(0)) == 0); } ProcessingLimitServiceTest.logger.debug("Controls:" + controls.size()); } catch (RSSException e) { ProcessingLimitServiceTest.logger.debug("Error: " + e.getMessage()); } }