List of usage examples for org.springframework.transaction.support DefaultTransactionDefinition setPropagationBehavior
public final void setPropagationBehavior(int propagationBehavior)
From source file:org.skife.jdbi.spring.TestSpringIntegration.java
public void testDBIUtilsSameHandleInTx() throws Exception { final DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); final PlatformTransactionManager ptm = (PlatformTransactionManager) ctx.getBean("transactionManager"); final TransactionStatus status = ptm.getTransaction(def); final IDBI dbi = (IDBI) ctx.getBean("dbi"); Handle one = DBIUtils.getHandle(dbi); Handle two = DBIUtils.getHandle(dbi); assertSame(one, two);/*from ww w . j a va 2 s . c o m*/ ptm.commit(status); }
From source file:org.skife.jdbi.spring.TestSpringIntegration.java
public void testSuspendAndResumeTx() throws Exception { final DefaultTransactionDefinition prop_req = new DefaultTransactionDefinition(); prop_req.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); final PlatformTransactionManager ptm = (PlatformTransactionManager) ctx.getBean("transactionManager"); final TransactionStatus prop_req_status = ptm.getTransaction(prop_req); final IDBI dbi = (IDBI) ctx.getBean("dbi"); final Handle one = DBIUtils.getHandle(dbi); final DefaultTransactionDefinition req_new = new DefaultTransactionDefinition(); req_new.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); // REQUIRES_NEW inside PROPAGATION_REQUIRED final TransactionStatus req_new_status = ptm.getTransaction(req_new); final Handle two = DBIUtils.getHandle(dbi); assertNotSame(one, two);//from ww w . ja v a 2 s . c o m ptm.commit(req_new_status); ptm.commit(prop_req_status); }
From source file:org.skife.jdbi.spring.TestSpringIntegration.java
public void testCloseIfNecessaryNotNecesarry() throws Exception { final DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); final PlatformTransactionManager ptm = (PlatformTransactionManager) ctx.getBean("transactionManager"); final TransactionStatus status = ptm.getTransaction(def); final IDBI dbi = (IDBI) ctx.getBean("dbi"); Handle one = DBIUtils.getHandle(dbi); DBIUtils.closeHandleIfNecessary(one, dbi); assertTrue(one.isOpen());/* w ww . j av a 2s . c o m*/ ptm.commit(status); assertFalse(one.isOpen()); }
From source file:org.skife.jdbi.spring.TestSpringIntegration.java
public void testHandleCallbackUsesTxHandle() throws Exception { final DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); final PlatformTransactionManager ptm = (PlatformTransactionManager) ctx.getBean("transactionManager"); final TransactionStatus status = ptm.getTransaction(def); final IDBI dbi = (IDBI) ctx.getBean("dbi"); final Handle outer = DBIUtils.getHandle(dbi); dbi.open(new HandleCallback() { public void withHandle(Handle handle) throws Exception { assertSame(outer, handle);/*from w w w . j a v a 2 s .com*/ } }); ptm.commit(status); }
From source file:org.skife.jdbi.spring.TestSpringIntegration.java
public void testExceptionInHandleCallbackRollsbackTx() throws Exception { final DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); final PlatformTransactionManager ptm = (PlatformTransactionManager) ctx.getBean("transactionManager"); final TransactionStatus status = ptm.getTransaction(def); final IDBI dbi = (IDBI) ctx.getBean("dbi"); try {/*from w w w. j ava2s . c o m*/ dbi.open(new HandleCallback() { public void withHandle(Handle handle) throws Exception { throw new UnsupportedOperationException("Not yet implemented!"); } }); fail("Should have thrown exception"); } catch (DBIException e) { assertTrue(true); } ptm.rollback(status); }