當前位置: 首頁>>代碼示例>>Java>>正文


Java JtaTransactionManager.getTransaction方法代碼示例

本文整理匯總了Java中org.springframework.transaction.jta.JtaTransactionManager.getTransaction方法的典型用法代碼示例。如果您正苦於以下問題:Java JtaTransactionManager.getTransaction方法的具體用法?Java JtaTransactionManager.getTransaction怎麽用?Java JtaTransactionManager.getTransaction使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.springframework.transaction.jta.JtaTransactionManager的用法示例。


在下文中一共展示了JtaTransactionManager.getTransaction方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: jtaTransactionManagerWithDoubleCommit

import org.springframework.transaction.jta.JtaTransactionManager; //導入方法依賴的package包/類
@Test
public void jtaTransactionManagerWithDoubleCommit() throws Exception {
	UserTransaction ut = mock(UserTransaction.class);
	given(ut.getStatus()).willReturn(Status.STATUS_NO_TRANSACTION,
			Status.STATUS_ACTIVE, Status.STATUS_ACTIVE);

	JtaTransactionManager ptm = newJtaTransactionManager(ut);
	assertFalse(TransactionSynchronizationManager.isSynchronizationActive());
	TransactionStatus status = ptm.getTransaction(new DefaultTransactionDefinition());
	assertTrue(TransactionSynchronizationManager.isSynchronizationActive());
	// first commit
	ptm.commit(status);
	assertFalse(TransactionSynchronizationManager.isSynchronizationActive());
	try {
		// second commit attempt
		ptm.commit(status);
		fail("Should have thrown IllegalTransactionStateException");
	}
	catch (IllegalTransactionStateException ex) {
		// expected
	}

	verify(ut).begin();
	verify(ut).commit();
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:26,代碼來源:JtaTransactionManagerTests.java

示例2: jtaTransactionManagerWithDoubleRollback

import org.springframework.transaction.jta.JtaTransactionManager; //導入方法依賴的package包/類
@Test
public void jtaTransactionManagerWithDoubleRollback() throws Exception {
	UserTransaction ut = mock(UserTransaction.class);
	given(ut.getStatus()).willReturn(Status.STATUS_NO_TRANSACTION, Status.STATUS_ACTIVE);

	JtaTransactionManager ptm = newJtaTransactionManager(ut);
	assertFalse(TransactionSynchronizationManager.isSynchronizationActive());
	TransactionStatus status = ptm.getTransaction(new DefaultTransactionDefinition());
	assertTrue(TransactionSynchronizationManager.isSynchronizationActive());
	// first rollback
	ptm.rollback(status);
	assertFalse(TransactionSynchronizationManager.isSynchronizationActive());
	try {
		// second rollback attempt
		ptm.rollback(status);
		fail("Should have thrown IllegalTransactionStateException");
	}
	catch (IllegalTransactionStateException ex) {
		// expected
	}

	verify(ut).begin();
	verify(ut).rollback();
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:25,代碼來源:JtaTransactionManagerTests.java

示例3: jtaTransactionManagerWithRollbackAndCommit

import org.springframework.transaction.jta.JtaTransactionManager; //導入方法依賴的package包/類
@Test
public void jtaTransactionManagerWithRollbackAndCommit() throws Exception {
	UserTransaction ut = mock(UserTransaction.class);
	given(ut.getStatus()).willReturn(Status.STATUS_NO_TRANSACTION, Status.STATUS_ACTIVE);

	JtaTransactionManager ptm = newJtaTransactionManager(ut);
	assertFalse(TransactionSynchronizationManager.isSynchronizationActive());
	TransactionStatus status = ptm.getTransaction(new DefaultTransactionDefinition());
	assertTrue(TransactionSynchronizationManager.isSynchronizationActive());
	// first: rollback
	ptm.rollback(status);
	assertFalse(TransactionSynchronizationManager.isSynchronizationActive());
	try {
		// second: commit attempt
		ptm.commit(status);
		fail("Should have thrown IllegalTransactionStateException");
	}
	catch (IllegalTransactionStateException ex) {
		// expected
	}

	verify(ut).begin();
	verify(ut).rollback();
}
 
開發者ID:langtianya,項目名稱:spring4-understanding,代碼行數:25,代碼來源:JtaTransactionManagerTests.java

示例4: testWithJtaTxManager

import org.springframework.transaction.jta.JtaTransactionManager; //導入方法依賴的package包/類
@Test
public void testWithJtaTxManager() {
  JtaTransactionManager jtaManager = new JtaTransactionManager(new MockUserTransaction());

  DefaultTransactionDefinition txDef = new DefaultTransactionDefinition();
  txDef.setPropagationBehaviorName("PROPAGATION_REQUIRED");

  TransactionStatus status = jtaManager.getTransaction(txDef);

  session = SqlSessionUtils.getSqlSession(sqlSessionFactory);
  session.getMapper(TestMapper.class).findTest();
  SqlSessionUtils.closeSqlSession(session, sqlSessionFactory);

  jtaManager.commit(status);

  // assume a real JTA tx would enlist and commit the JDBC connection
  assertNoCommitJdbc();
  assertCommitSession();
  assertSingleConnection();
}
 
開發者ID:lindzh,項目名稱:mybatis-spring-1.2.2,代碼行數:21,代碼來源:MyBatisSpringTest.java

示例5: testJtaTransactionManagerWithDoubleCommit

import org.springframework.transaction.jta.JtaTransactionManager; //導入方法依賴的package包/類
public void testJtaTransactionManagerWithDoubleCommit() throws Exception {
	UserTransaction ut = mock(UserTransaction.class);
	given(ut.getStatus()).willReturn(Status.STATUS_NO_TRANSACTION,
			Status.STATUS_ACTIVE, Status.STATUS_ACTIVE);

	JtaTransactionManager ptm = newJtaTransactionManager(ut);
	assertFalse(TransactionSynchronizationManager.isSynchronizationActive());
	TransactionStatus status = ptm.getTransaction(new DefaultTransactionDefinition());
	assertTrue(TransactionSynchronizationManager.isSynchronizationActive());
	// first commit
	ptm.commit(status);
	assertFalse(TransactionSynchronizationManager.isSynchronizationActive());
	try {
		// second commit attempt
		ptm.commit(status);
		fail("Should have thrown IllegalTransactionStateException");
	}
	catch (IllegalTransactionStateException ex) {
		// expected
	}

	verify(ut).begin();
	verify(ut).commit();
}
 
開發者ID:deathspeeder,項目名稱:class-guard,代碼行數:25,代碼來源:JtaTransactionManagerTests.java

示例6: testJtaTransactionManagerWithDoubleRollback

import org.springframework.transaction.jta.JtaTransactionManager; //導入方法依賴的package包/類
public void testJtaTransactionManagerWithDoubleRollback() throws Exception {
	UserTransaction ut = mock(UserTransaction.class);
	given(ut.getStatus()).willReturn(Status.STATUS_NO_TRANSACTION, Status.STATUS_ACTIVE);

	JtaTransactionManager ptm = newJtaTransactionManager(ut);
	assertFalse(TransactionSynchronizationManager.isSynchronizationActive());
	TransactionStatus status = ptm.getTransaction(new DefaultTransactionDefinition());
	assertTrue(TransactionSynchronizationManager.isSynchronizationActive());
	// first rollback
	ptm.rollback(status);
	assertFalse(TransactionSynchronizationManager.isSynchronizationActive());
	try {
		// second rollback attempt
		ptm.rollback(status);
		fail("Should have thrown IllegalTransactionStateException");
	}
	catch (IllegalTransactionStateException ex) {
		// expected
	}

	verify(ut).begin();
	verify(ut).rollback();
}
 
開發者ID:deathspeeder,項目名稱:class-guard,代碼行數:24,代碼來源:JtaTransactionManagerTests.java

示例7: testJtaTransactionManagerWithRollbackAndCommit

import org.springframework.transaction.jta.JtaTransactionManager; //導入方法依賴的package包/類
public void testJtaTransactionManagerWithRollbackAndCommit() throws Exception {
	UserTransaction ut = mock(UserTransaction.class);
	given(ut.getStatus()).willReturn(Status.STATUS_NO_TRANSACTION, Status.STATUS_ACTIVE);

	JtaTransactionManager ptm = newJtaTransactionManager(ut);
	assertFalse(TransactionSynchronizationManager.isSynchronizationActive());
	TransactionStatus status = ptm.getTransaction(new DefaultTransactionDefinition());
	assertTrue(TransactionSynchronizationManager.isSynchronizationActive());
	// first: rollback
	ptm.rollback(status);
	assertFalse(TransactionSynchronizationManager.isSynchronizationActive());
	try {
		// second: commit attempt
		ptm.commit(status);
		fail("Should have thrown IllegalTransactionStateException");
	}
	catch (IllegalTransactionStateException ex) {
		// expected
	}

	verify(ut).begin();
	verify(ut).rollback();
}
 
開發者ID:deathspeeder,項目名稱:class-guard,代碼行數:24,代碼來源:JtaTransactionManagerTests.java

示例8: testWithJtaTxManagerAndNonSpringTxManager

import org.springframework.transaction.jta.JtaTransactionManager; //導入方法依賴的package包/類
@Test
public void testWithJtaTxManagerAndNonSpringTxManager() throws java.sql.SQLException {
  Environment original = sqlSessionFactory.getConfiguration().getEnvironment();

  MockDataSource mockDataSource = new MockDataSource();
  mockDataSource.setupConnection(createMockConnection());

  Environment nonSpring = new Environment("non-spring", new ManagedTransactionFactory(), mockDataSource,null);
  sqlSessionFactory.getConfiguration().setEnvironment(nonSpring);

  JtaTransactionManager jtaManager = new JtaTransactionManager(new MockUserTransaction());

  DefaultTransactionDefinition txDef = new DefaultTransactionDefinition();
  txDef.setPropagationBehaviorName("PROPAGATION_REQUIRED");

  TransactionStatus status = jtaManager.getTransaction(txDef);

  try {
    session = SqlSessionUtils.getSqlSession(sqlSessionFactory);
    session.getMapper(TestMapper.class).findTest();
    // Spring is not managing SqlSession, so commit is needed
    session.commit(true);
    SqlSessionUtils.closeSqlSession(session, sqlSessionFactory);

    jtaManager.commit(status);

    // assume a real JTA tx would enlist and commit the JDBC connection
    assertNoCommitJdbc();
    assertCommitSession();

    MockConnection mockConnection = (MockConnection) mockDataSource.getConnection();
    assertEquals("should call commit on Connection", 0, mockConnection.getNumberCommits());
    assertEquals("should not call rollback on Connection", 0, mockConnection.getNumberRollbacks());

    assertEquals("should not call DataSource.getConnection()", 0, dataSource.getConnectionCount());

  } finally {
    SqlSessionUtils.closeSqlSession(session, sqlSessionFactory);

    sqlSessionFactory.getConfiguration().setEnvironment(original);

    // null the connection since it was not used
    // this avoids failing in validateConnectionClosed()
    connection = null;
  }
}
 
開發者ID:lindzh,項目名稱:mybatis-spring-1.2.2,代碼行數:47,代碼來源:MyBatisSpringTest.java

示例9: testWithJtaTxManagerAndNonSpringTxManager

import org.springframework.transaction.jta.JtaTransactionManager; //導入方法依賴的package包/類
@Test
public void testWithJtaTxManagerAndNonSpringTxManager() throws java.sql.SQLException {
  Environment original = sqlSessionFactory.getConfiguration().getEnvironment();

  MockDataSource mockDataSource = new MockDataSource();
  mockDataSource.setupConnection(createMockConnection());

  Environment nonSpring = new Environment("non-spring", new ManagedTransactionFactory(), mockDataSource);
  sqlSessionFactory.getConfiguration().setEnvironment(nonSpring);

  JtaTransactionManager jtaManager = new JtaTransactionManager(new MockUserTransaction());

  DefaultTransactionDefinition txDef = new DefaultTransactionDefinition();
  txDef.setPropagationBehaviorName("PROPAGATION_REQUIRED");

  TransactionStatus status = jtaManager.getTransaction(txDef);

  try {
    session = SqlSessionUtils.getSqlSession(sqlSessionFactory);
    session.getMapper(TestMapper.class).findTest();
    // Spring is not managing SqlSession, so commit is needed
    session.commit(true);
    SqlSessionUtils.closeSqlSession(session, sqlSessionFactory);

    jtaManager.commit(status);

    // assume a real JTA tx would enlist and commit the JDBC connection
    assertNoCommitJdbc();
    assertCommitSession();

    MockConnection mockConnection = (MockConnection) mockDataSource.getConnection();
    assertEquals("should call commit on Connection", 0, mockConnection.getNumberCommits());
    assertEquals("should not call rollback on Connection", 0, mockConnection.getNumberRollbacks());

    assertEquals("should not call DataSource.getConnection()", 0, dataSource.getConnectionCount());

  } finally {
    SqlSessionUtils.closeSqlSession(session, sqlSessionFactory);

    sqlSessionFactory.getConfiguration().setEnvironment(original);

    // null the connection since it was not used
    // this avoids failing in validateConnectionClosed()
    connection = null;
  }
}
 
開發者ID:zyong2004,項目名稱:mybatis-spring,代碼行數:47,代碼來源:MyBatisSpringTest.java


注:本文中的org.springframework.transaction.jta.JtaTransactionManager.getTransaction方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。