Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enter code here
- <bean id="dataSource1" class="bitronix.tm.resource.jdbc.PoolingDataSource" init-method="init" destroy-method="close">
- <property name="className" value="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource" />
- <property name="driverProperties" >
- <props>
- <prop key="URL">jdbc:mysql://localhost:3306/Bookings</prop>
- <prop key="user">root</prop>
- <prop key="password">ACahlof</prop>
- </props>
- </property>
- <property name="uniqueName" value="jdbc/booking" />
- <property name="minPoolSize" value="0" />
- <property name="maxPoolSize" value="3" />
- </bean>
- <bean id="txManager" class="org.springframework.transaction.jta.JtaTransactionManager">
- <property name="transactionManager" ref="bitronixTransactionManager"/>
- <property name="userTransaction" ref="bitronixTransactionManager"/>
- </bean>
- <bean id="bitronixTransactionManager" factory-method="getTransactionManager"
- class="bitronix.tm.TransactionManagerServices" depends-on="dataSource,dataSource1"
- destroy-method="shutdown"/>
- enter code here
- ApplicationContext ctx = new FileSystemXmlApplicationContext("applicationContext.xml");
- ((AbstractApplicationContext) ctx).registerShutdownHook();
- JtaTransactionManager txManager = (JtaTransactionManager) ctx.getBean("txManager");
- DefaultTransactionDefinition def = new DefaultTransactionDefinition();
- def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
- TransactionStatus status = null;
- BookingBasic bb = new BookingBasic();
- bb.setBookingNo("booking-001");
- bb.setCustomer("ABC");
- CargoAspect ca = new CargoAspect();
- ca.setId(1);
- ca.setCommodity("girls");
- try {
- System.out.println("get the transaction status");
- status = txManager.getTransaction(def);
- EntityManagerFactory emf = Persistence.createEntityManagerFactory("booking-jta");
- EntityManager em = emf.createEntityManager();
- System.out.println("Entity Manager is "+em);
- em.persist(ca);
- em.persist(bb);
- em.close();
- System.out.println("commit the transaction");
- txManager.commit(status);
- }catch(Exception e){
- System.out.println("transaction commit exception");
- e.printStackTrace();
- try{
- System.out.println("rollback the transaction");
- txManager.rollback(status);
- }catch(Exception e1){
- System.out.println("rollback exception");
- e1.printStackTrace();
- }
- }
Add Comment
Please, Sign In to add comment