List of usage examples for org.springframework.transaction TransactionDefinition PROPAGATION_REQUIRED
int PROPAGATION_REQUIRED
To view the source code for org.springframework.transaction TransactionDefinition PROPAGATION_REQUIRED.
Click Source Link
From source file:org.opennms.ng.dao.support.UpsertTemplate.java
/** * After creating the UpsertTemplate call this method to attempt the upsert. *//* www .ja v a 2 s . co m*/ public T execute() { TransactionTemplate template = new TransactionTemplate(m_transactionManager); template.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); return template.execute(new TransactionCallback<T>() { @Override public T doInTransaction(TransactionStatus status) { return doUpsert(); } }); }
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.fcrepo.camel.FcrepoTransactionManagerTest.java
@Test public void testTransactionRollback() throws FcrepoOperationFailedException { final String baseUrl = "http://localhost:8080/rest"; final String tx = "tx:1234567890"; final URI commitUri = URI.create(baseUrl + "/" + tx + FcrepoConstants.COMMIT); final URI beginUri = URI.create(baseUrl + FcrepoConstants.TRANSACTION); final FcrepoTransactionManager txMgr = new FcrepoTransactionManager(); txMgr.setBaseUrl(baseUrl);//from w w w .j av a 2 s . c om TestUtils.setField(txMgr, "fcrepoClient", mockClient); final TransactionTemplate transactionTemplate = new TransactionTemplate(txMgr); final DefaultTransactionDefinition txDef = new DefaultTransactionDefinition( TransactionDefinition.PROPAGATION_REQUIRED); transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); transactionTemplate.afterPropertiesSet(); when(mockClient.post(eq(beginUri))).thenReturn(mockPostBuilder); when(mockClient.post(eq(commitUri))).thenReturn(mockPostBuilder2); when(mockPostBuilder.perform()).thenReturn(new FcrepoResponse(beginUri, 201, singletonMap("Location", singletonList(baseUrl + "/" + tx)), null)); when(mockPostBuilder2.perform()).thenReturn(new FcrepoResponse(commitUri, 201, emptyMap(), null)); DefaultTransactionStatus status = (DefaultTransactionStatus) txMgr.getTransaction(txDef); FcrepoTransactionObject txObj = (FcrepoTransactionObject) status.getTransaction(); assertEquals(tx, txObj.getSessionId()); assertFalse(status.isCompleted()); status = (DefaultTransactionStatus) txMgr.getTransaction(txDef); txMgr.rollback(status); txObj = (FcrepoTransactionObject) status.getTransaction(); assertNull(txObj.getSessionId()); assertTrue(status.isCompleted()); }
From source file:org.alfresco.util.transaction.SpringAwareUserTransactionTest.java
private UserTransaction getFailingTxn() { return new SpringAwareUserTransaction(failingTransactionManager, false, TransactionDefinition.ISOLATION_DEFAULT, TransactionDefinition.PROPAGATION_REQUIRED, TransactionDefinition.TIMEOUT_DEFAULT); }
From source file:org.bitsofinfo.util.address.usps.ais.store.jpa.JPAStore.java
private Copyright processCopyright(Copyright copyright) throws StoreException { Copyright c = this.entityMgr.find(Copyright.class, copyright.getIdentifier()); if (c == null) { DefaultTransactionDefinition td = new DefaultTransactionDefinition(); td.setName("Process copyright"); td.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); TransactionStatus txs = this.transactionManager.getTransaction(td); try {//www. ja v a 2 s . c o m this.saveRecord(copyright); this.transactionManager.commit(txs); } catch (DataIntegrityViolationException e) { if (!txs.isCompleted()) { this.transactionManager.rollback(txs); } // ignore this, it is fine, some other load beat us to it c = this.entityMgr.find(Copyright.class, copyright.getIdentifier()); } c = copyright; } return c; }
From source file:org.fcrepo.camel.FcrepoTransactionManagerTest.java
@Test(expected = CannotCreateTransactionException.class) public void testTransactionBeginError() throws FcrepoOperationFailedException { final String baseUrl = "http://localhost:8080/rest"; final String tx = "tx:1234567890"; final URI beginUri = URI.create(baseUrl + FcrepoConstants.TRANSACTION); final FcrepoTransactionManager txMgr = new FcrepoTransactionManager(); txMgr.setBaseUrl(baseUrl);/*from ww w . j av a2s . c o m*/ TestUtils.setField(txMgr, "fcrepoClient", mockClient); final TransactionTemplate transactionTemplate = new TransactionTemplate(txMgr); final DefaultTransactionDefinition txDef = new DefaultTransactionDefinition( TransactionDefinition.PROPAGATION_REQUIRED); transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); transactionTemplate.afterPropertiesSet(); when(mockPostBuilder.perform()).thenThrow(new FcrepoOperationFailedException(beginUri, 400, "Bad Request")); txMgr.getTransaction(txDef); }
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:org.bitsofinfo.util.address.usps.ais.store.jpa.JPAStore.java
private void processNonCopyrightRecords(List<USPSRecord> records, Copyright copyright) throws StoreException { DefaultTransactionDefinition td = new DefaultTransactionDefinition(); td.setName("Process copyright"); td.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); TransactionStatus txs = this.transactionManager.getTransaction(td); try {// ww w . ja v a 2s.com //copyright = this.entityMgr.merge(copyright); for (USPSRecord r : records) { // skip copyrights if it is the same one passed in above if (r instanceof Copyright) { if (r.getIdentifier().equals(copyright.getIdentifier())) { // chuck it as it has already been processed continue; } } // ensure the copyright is linked r.setCopyright(copyright); // if we use the action code, use that to // determine to save or delete. if (r.getActionCode() == ActionCode.D) { this.deleteRecord(r); } else { this.saveRecord(r); } } this.transactionManager.commit(txs); } catch (Exception e) { this.transactionManager.rollback(txs); } }
From source file:org.fcrepo.camel.FcrepoTransactionManagerTest.java
@Test(expected = CannotCreateTransactionException.class) public void testTransactionBeginNoLocationError() throws FcrepoOperationFailedException { final String baseUrl = "http://localhost:8080/rest"; final String tx = "tx:1234567890"; final URI beginUri = URI.create(baseUrl + FcrepoConstants.TRANSACTION); final FcrepoTransactionManager txMgr = new FcrepoTransactionManager(); txMgr.setBaseUrl(baseUrl);//from w ww .j a v a 2 s . co m TestUtils.setField(txMgr, "fcrepoClient", mockClient); final TransactionTemplate transactionTemplate = new TransactionTemplate(txMgr); final DefaultTransactionDefinition txDef = new DefaultTransactionDefinition( TransactionDefinition.PROPAGATION_REQUIRED); transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); transactionTemplate.afterPropertiesSet(); when(mockPostBuilder.perform()).thenReturn(new FcrepoResponse(beginUri, 201, emptyMap(), null)); txMgr.getTransaction(txDef); }
From source file:org.fcrepo.camel.FcrepoTransactionManagerTest.java
@Test(expected = CannotCreateTransactionException.class) public void testTransactionNullResponseError() throws FcrepoOperationFailedException { final String baseUrl = "http://localhost:8080/rest"; final String tx = "tx:1234567890"; final URI beginUri = URI.create(baseUrl + FcrepoConstants.TRANSACTION); final FcrepoTransactionManager txMgr = new FcrepoTransactionManager(); txMgr.setBaseUrl(baseUrl);/*from w w w .j av a2 s . c om*/ TestUtils.setField(txMgr, "fcrepoClient", mockClient); final TransactionTemplate transactionTemplate = new TransactionTemplate(txMgr); final DefaultTransactionDefinition txDef = new DefaultTransactionDefinition( TransactionDefinition.PROPAGATION_REQUIRED); transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); transactionTemplate.afterPropertiesSet(); when(mockPostBuilder.perform()).thenReturn(null); txMgr.getTransaction(txDef); }