Package com.arjuna.mw.wst

Examples of com.arjuna.mw.wst.UserTransaction


    public void run ()
    {
  try
  {
      UserTransaction ut = UserTransaction.getUserTransaction();
 
      ut.begin();

      System.out.println("Thread "+Thread.currentThread()+" started "+ut);

      Thread.yield();
     
      System.out.println("\nThread "+Thread.currentThread()+" committing "+ut);
     
      ut.commit();
     
     

      Thread.yield();
  }
View Full Code Here


     */
    private void testAtomicTransaction(int restaurantSeats, int theatreSeats, int theatreArea, boolean bookTaxi) throws Exception
    {
        System.out.println("CLIENT: obtaining userTransaction...");

        UserTransaction ut = UserTransactionFactory.userTransaction();

        System.out.println("CLIENT: starting the transaction...");

        ut.begin();

        System.out.println("CLIENT: transaction ID= " + ut.toString());

        System.out.println("CLIENT: calling business Web Services...");

        restaurantAT.bookSeats(restaurantSeats);
        theatreAT.bookSeats(theatreSeats, theatreArea);
        if (bookTaxi)
        {
            taxiAT.bookTaxi();
        }

        System.out.println("CLIENT: calling commit on the transaction...");

        ut.commit();

        System.out.println("done.");
        System.out.flush();
    }
View Full Code Here

{

    public static void testSubTransactionCommitFailInPrepare()
            throws Exception
    {
        final UserTransaction ut = UserTransactionFactory.userTransaction();
        final UserTransaction ust = UserTransactionFactory.userSubordinateTransaction();
        final TransactionManager tm = TransactionManager.getTransactionManager();

        final DemoDurableParticipant p1 = new DemoDurableParticipant();
        final DemoVolatileParticipant p2 = new DemoVolatileParticipant();
        final FailureParticipant p3 = new FailureParticipant(FailureParticipant.FAIL_IN_PREPARE, FailureParticipant.WRONG_STATE);
        final DemoVolatileParticipant p4 = new DemoVolatileParticipant();

        ut.begin();
        final TxContext tx = tm.suspend();
        tm.resume(tx);
        tm.enlistForDurableTwoPhase(p1, p1.identifier());
        tm.enlistForVolatileTwoPhase(p2, p2.identifier());
        ust.begin();
        final TxContext stx = tm.suspend();
        tm.resume(stx);
        tm.enlistForDurableTwoPhase(p3, "failure in prepare");
        tm.enlistForVolatileTwoPhase(p4, p4.identifier());
View Full Code Here

{

    public static void testSuspendResumeParticipants()
            throws Exception
    {
      UserTransaction ut = UserTransaction.getUserTransaction();
      TransactionManager tm = TransactionManager.getTransactionManager();
      DemoDurableParticipant p1 = new DemoDurableParticipant();
      DemoDurableParticipant p2 = new DemoDurableParticipant();
      DemoDurableParticipant p3 = new DemoDurableParticipant();
      DemoDurableParticipant p4 = new DemoDurableParticipant();

      System.out.println("Starting first transaction.\n");
     
      ut.begin();
    try {
      tm.enlistForDurableTwoPhase(p1, p1.identifier());
      tm.enlistForDurableTwoPhase(p2, p2.identifier());
      tm.enlistForDurableTwoPhase(p3, p3.identifier());
      tm.enlistForDurableTwoPhase(p4, p4.identifier());

      TxContext ctx = tm.suspend();
     
      System.out.println("Suspended: "+ctx);

      ut.begin();
     
      System.out.println("\nStarted second transaction.");
     
      tm.resume(ctx);
     
      System.out.println("\nCommitting first transaction.\n");
    catch (Exception eouter) {
        try {
            ut.rollback();
        } catch(Exception einner) {
        }
        throw eouter;
    }
      ut.commit();
  }
View Full Code Here

{

    public static void testNestedTransaction()
            throws Exception
    {
        UserTransaction ut = UserTransaction.getUserTransaction();
  try
  {

      // nesting not supported, so each is a separate top-level tx.

      ut.begin();
     
      ut.begin();
     
      ut.commit();

      ut.commit();

        fail("expected WrongStateException");
    }
  catch (com.arjuna.wst.WrongStateException ex)
  {
        // original test was expecting UnknownTransactionException
        // we should get here;
        try {
            ut.rollback();
        } catch(Exception einner) {
        }
  }
    catch (Exception eouter)
    {
        try {
            ut.rollback();
            ut.rollback();
        } catch(Exception einner) {
        }
        throw eouter;
    }
    }
View Full Code Here

{

    public static void testCommitRollbackInPrepare()
            throws Exception
    {
        UserTransaction ut = UserTransaction.getUserTransaction();
  try
  {
      TransactionManager tm = TransactionManager.getTransactionManager();
      FailureParticipant p1 = new FailureParticipant(FailureParticipant.FAIL_IN_PREPARE, FailureParticipant.NONE);
      DemoDurableParticipant p2 = new DemoDurableParticipant();
     
      ut.begin();
     
      tm.enlistForDurableTwoPhase(p1, "failure");
      tm.enlistForDurableTwoPhase(p2, p2.identifier());
    catch (Exception eouter) {
        try {
            ut.rollback();
        } catch(Exception einner) {
        }
        throw eouter;
    }
  try {   
      ut.commit();

      fail("expected TransactionRolledBackException");
  }
  catch (com.arjuna.wst.TransactionRolledBackException ex)
  {
View Full Code Here

{

    public static void testSubTransactionCommitRollbackInPrepare()
            throws Exception
    {
        final UserTransaction ut = UserTransactionFactory.userTransaction();
        final UserTransaction ust = UserTransactionFactory.userSubordinateTransaction();
        final TransactionManager tm = TransactionManager.getTransactionManager();

        final DemoDurableParticipant p1 = new DemoDurableParticipant();
        final DemoVolatileParticipant p2 = new DemoVolatileParticipant();
        final FailureParticipant p3 = new FailureParticipant(FailureParticipant.FAIL_IN_PREPARE, FailureParticipant.NONE);
        final DemoVolatileParticipant p4 = new DemoVolatileParticipant();

        ut.begin();
        final TxContext tx = tm.suspend();
        tm.resume(tx);
        tm.enlistForDurableTwoPhase(p1, p1.identifier());
        tm.enlistForVolatileTwoPhase(p2, p2.identifier());
        ust.begin();
        final TxContext stx = tm.suspend();
        tm.resume(stx);
        tm.enlistForDurableTwoPhase(p3, "failure in prepare");
        tm.enlistForVolatileTwoPhase(p4, p4.identifier());
View Full Code Here

{

    public static void testNullRollbackTransaction()
            throws Exception
    {
      UserTransaction ut = UserTransaction.getUserTransaction();
 
      ut.begin();
     
      ut.rollback();
    }
View Full Code Here

{

    public static void testSuspendCommitTransaction()
            throws Exception
    {
        UserTransaction ut = UserTransaction.getUserTransaction();
      TransactionManager tm = TransactionManager.getTransactionManager();
 
      ut.begin();

    try {
      TxContext ctx = tm.suspend();

      System.out.println("Suspended: "+ctx);
    catch (Exception eouter) {
        try {
            ut.rollback();
        } catch(Exception einner) {
        }
        throw eouter;
    }
     
    try {
      ut.commit();
  }
  catch (WrongStateException ex)
  {
      // we should arrive here
  }
View Full Code Here

{

    public static void testSubTransactionCommit()
            throws Exception
    {
        final UserTransaction ut = UserTransactionFactory.userTransaction();
        final UserTransaction ust = UserTransactionFactory.userSubordinateTransaction();
        final TransactionManager tm = TransactionManager.getTransactionManager();

        final DemoDurableParticipant p1 = new DemoDurableParticipant();
        final DemoVolatileParticipant p2 = new DemoVolatileParticipant();
        final DemoDurableParticipant p3 = new DemoDurableParticipant();
        final DemoVolatileParticipant p4 = new DemoVolatileParticipant();

        ut.begin();
        final TxContext tx = tm.suspend();
        tm.resume(tx);
        tm.enlistForDurableTwoPhase(p1, p1.identifier());
        tm.enlistForVolatileTwoPhase(p2, p2.identifier());
        ust.begin();
        final TxContext stx = tm.suspend();
        tm.resume(stx);
        tm.enlistForDurableTwoPhase(p3, p3.identifier());
        tm.enlistForVolatileTwoPhase(p4, p4.identifier());
View Full Code Here

TOP

Related Classes of com.arjuna.mw.wst.UserTransaction

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.