1 /* 2 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com 3 * The software in this package is published under the terms of the CPAL v1.0 4 * license, a copy of which has been included with this distribution in the 5 * LICENSE.txt file. 6 */ 7 package org.mule.test.integration.spring.transaction; 8 9 import org.mule.api.transaction.Transaction; 10 import org.mule.tck.junit4.AbstractMuleContextTestCase; 11 import org.mule.transaction.TransactionCoordination; 12 13 import org.junit.Test; 14 15 public class SpringTransactionFactoryTestCase extends AbstractMuleContextTestCase 16 { 17 18 @Override 19 protected void doTearDown() throws Exception 20 { 21 Transaction tx = TransactionCoordination.getInstance().getTransaction(); 22 if (tx != null) 23 { 24 TransactionCoordination.getInstance().unbindTransaction(tx); 25 } 26 } 27 28 @Test 29 public void testTransactionFactoryBinding() throws Exception 30 { 31 // Init a data source 32 // DriverManagerDataSource ds = new DriverManagerDataSource(); 33 // ds.setDriverClassName("org.hsqldb.jdbcDriver"); 34 // ds.setUrl("jdbc:hsqldb:mem:db"); 35 // ds.setUsername("sa"); 36 // // Init hibernate 37 // LocalSessionFactoryBean sfactory = new LocalSessionFactoryBean(); 38 // sfactory.setDataSource(ds); 39 // sfactory.afterPropertiesSet(); 40 // // Init hibernate transaction manager 41 // HibernateTransactionManager tm = new HibernateTransactionManager(); 42 // tm.setDataSource(ds); 43 // SessionFactory sessionFactory = (SessionFactory)sfactory.getObject(); 44 // tm.setSessionFactory(sessionFactory); 45 // // Init spring transaction factory 46 // SpringTransactionFactory factory = new SpringTransactionFactory(); 47 // factory.setManager(tm); 48 // 49 // // Create a new transaction 50 // Transaction tx = factory.beginTransaction(); 51 // TransactionCoordination.getInstance().bindTransaction(tx); 52 // // Check that the jdbc connection is enlisted 53 // assertTrue(tx.hasResource(ds)); 54 // // Check that the hibernate session is enlisted 55 // assertTrue(tx.hasResource(sessionFactory)); 56 57 // TransactionCoordination.getInstance().unbindTransaction(tx); 58 } 59 60 }