Search in sources :

Example 46 with ORB

use of com.arjuna.orbportability.ORB in project narayana by jbosstm.

the class TransactionManagerService method start.

/**
 * @param theCorbaORB an orb that the TM should use for JTS operations. The caller is responsible for
 *                    shutting down and destroying this orb
 * @throws Exception
 */
public void start(org.omg.CORBA.ORB theCorbaORB) throws Exception {
    jbossatxLogger.i18NLogger.info_jts_TransactionManagerService_start();
    // Create an ORB portability wrapper around the CORBA ORB services orb
    ORB orb = ORB.getInstance(ORB_NAME);
    org.omg.PortableServer.POA rootPOA = org.omg.PortableServer.POAHelper.narrow(theCorbaORB.resolve_initial_references("RootPOA"));
    orb.setOrb(theCorbaORB);
    OA oa = OA.getRootOA(orb);
    oa.setPOA(rootPOA);
    try {
        // OTSManager won't play nice unless we explicity bootstrap the portability layer:
        ORBManager.setORB(orb);
        ORBManager.setPOA(oa);
        OrbPortabilityEnvironmentBean env = BeanPopulator.getDefaultInstance(OrbPortabilityEnvironmentBean.class);
        env.setShutdownWrappedOrb(false);
        org.omg.CosTransactions.TransactionFactory factory = com.arjuna.ats.jts.OTSManager.get_factory();
        final int resolver = Services.getResolver();
        com.arjuna.ats.jts.TransactionServer.registerTransactionManager(resolver, orb, factory);
    } catch (final Exception ex) {
        throw new Exception(jbossatxLogger.i18NLogger.get_jts_TransactionManagerService_failed(), ex);
    }
}
Also used : OA(com.arjuna.orbportability.OA) OrbPortabilityEnvironmentBean(com.arjuna.orbportability.common.OrbPortabilityEnvironmentBean) ORB(com.arjuna.orbportability.ORB)

Example 47 with ORB

use of com.arjuna.orbportability.ORB in project narayana by jbosstm.

the class JTSOSBTestBase method initOrb.

@BeforeClass
public static void initOrb() throws InvalidName {
    int recoveryOrbPort = jtsPropertyManager.getJTSEnvironmentBean().getRecoveryManagerPort();
    final Properties p = new Properties();
    p.setProperty("OAPort", "" + recoveryOrbPort);
    p.setProperty("com.sun.CORBA.POA.ORBPersistentServerPort", "" + recoveryOrbPort);
    p.setProperty("com.sun.CORBA.POA.ORBServerId", "" + recoveryOrbPort);
    ORB orb = ORB.getInstance("test");
    OA oa = OA.getRootOA(orb);
    orb.initORB(new String[] {}, p);
    oa.initOA();
    ORBManager.setORB(orb);
    ORBManager.setPOA(oa);
}
Also used : OA(com.arjuna.orbportability.OA) ORB(com.arjuna.orbportability.ORB) BeforeClass(org.junit.BeforeClass)

Example 48 with ORB

use of com.arjuna.orbportability.ORB in project narayana by jbosstm.

the class SimpleTest method test.

@Test
public void test() throws Exception {
    ORB myORB = null;
    RootOA myOA = null;
    myORB = ORB.getInstance("test");
    myOA = OA.getRootOA(myORB);
    myORB.initORB(new String[] {}, null);
    myOA.initOA();
    ORBManager.setORB(myORB);
    ORBManager.setPOA(myOA);
    jtaPropertyManager.getJTAEnvironmentBean().setTransactionManagerClassName(com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple.class.getName());
    jtaPropertyManager.getJTAEnvironmentBean().setUserTransactionClassName(com.arjuna.ats.internal.jta.transaction.jts.UserTransactionImple.class.getName());
    javax.transaction.TransactionManager transactionManager = com.arjuna.ats.jta.TransactionManager.transactionManager();
    transactionManager.begin();
    Transaction currentTrans = transactionManager.getTransaction();
    TestResource res1, res2;
    currentTrans.enlistResource(res1 = new TestResource());
    currentTrans.enlistResource(res2 = new TestResource());
    currentTrans.delistResource(res2, XAResource.TMSUCCESS);
    currentTrans.delistResource(res1, XAResource.TMSUCCESS);
    transactionManager.commit();
    myOA.destroy();
    myORB.shutdown();
}
Also used : Transaction(javax.transaction.Transaction) RootOA(com.arjuna.orbportability.RootOA) TestResource(com.hp.mwtests.ts.jta.jts.common.TestResource) ORB(com.arjuna.orbportability.ORB) Test(org.junit.Test)

Example 49 with ORB

use of com.arjuna.orbportability.ORB in project narayana by jbosstm.

the class RollbackTest method test.

@Test
public void test() throws Exception {
    ORB myORB = null;
    RootOA myOA = null;
    myORB = ORB.getInstance("test");
    myOA = OA.getRootOA(myORB);
    myORB.initORB(new String[] {}, null);
    myOA.initOA();
    ORBManager.setORB(myORB);
    ORBManager.setPOA(myOA);
    javax.transaction.TransactionManager transactionManager = com.arjuna.ats.jta.TransactionManager.transactionManager();
    boolean passed = false;
    transactionManager.setTransactionTimeout(3);
    transactionManager.begin();
    try {
        Thread.currentThread().sleep(4000);
    } catch (Exception ex) {
    }
    try {
        transactionManager.rollback();
        passed = true;
    } catch (IllegalStateException ex) {
        passed = false;
    } catch (Exception ex) {
        passed = false;
    }
    assertTrue(passed);
}
Also used : RootOA(com.arjuna.orbportability.RootOA) ORB(com.arjuna.orbportability.ORB) Test(org.junit.Test)

Example 50 with ORB

use of com.arjuna.orbportability.ORB in project narayana by jbosstm.

the class WedgedResourceDemonstrator method testWedge.

@Test
public void testWedge() throws InvalidName, SystemException, NotSupportedException, javax.transaction.SystemException, IllegalStateException, RollbackException, SecurityException, HeuristicMixedException, HeuristicRollbackException, InterruptedException {
    String mode = "jts";
    if (mode.equals("jts")) {
        ORB myORB = ORB.getInstance("test");
        RootOA myOA = OA.getRootOA(myORB);
        myORB.initORB(new String[0], null);
        myOA.initOA();
        com.arjuna.ats.internal.jts.ORBManager.setORB(myORB);
        com.arjuna.ats.internal.jts.ORBManager.setPOA(myOA);
        RecoveryManager.manager().initialize();
    }
    TransactionManager transactionManager = mode.equals("jts") ? new com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple() : new com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple();
    transactionManager.setTransactionTimeout(2);
    transactionManager.begin();
    transactionManager.getTransaction().enlistResource(new TimeoutOnFirstRollbackResource());
    // Business logic
    Thread.currentThread().sleep(5000);
    try {
        transactionManager.commit();
        fail("Should not have been able to commit");
    } catch (RollbackException e) {
    // This is fine
    } catch (IllegalStateException e) {
    // This is fine
    } finally {
        if (mode.equals("jts")) {
            RecoveryManager.manager().terminate();
            ORB myORB = ORB.getInstance("test");
            RootOA myOA = OA.getRootOA(myORB);
            myOA.destroy();
            myORB.shutdown();
        }
    }
}
Also used : RootOA(com.arjuna.orbportability.RootOA) HeuristicRollbackException(javax.transaction.HeuristicRollbackException) RollbackException(javax.transaction.RollbackException) TransactionManager(javax.transaction.TransactionManager) ORB(com.arjuna.orbportability.ORB) Test(org.junit.Test)

Aggregations

ORB (com.arjuna.orbportability.ORB)93 RootOA (com.arjuna.orbportability.RootOA)71 Test (org.junit.Test)57 OA (com.arjuna.orbportability.OA)20 ServerORB (com.hp.mwtests.ts.jts.utils.ServerORB)20 Control (org.omg.CosTransactions.Control)20 Services (com.arjuna.orbportability.Services)19 CurrentImple (com.arjuna.ats.internal.jts.orbspecific.CurrentImple)9 PerfTestInterface (org.jboss.jbossts.qa.performance.PerfTestInterface)7 SystemException (org.omg.CORBA.SystemException)7 IntHolder (org.omg.CORBA.IntHolder)6 Coordinator (org.omg.CosTransactions.Coordinator)6 UserException (org.omg.CORBA.UserException)5 Properties (java.util.Properties)4 TRANSACTION_ROLLEDBACK (org.omg.CORBA.TRANSACTION_ROLLEDBACK)4 Terminator (org.omg.CosTransactions.Terminator)4 AtomicObject (com.hp.mwtests.ts.jts.orbspecific.resources.AtomicObject)3 Status (org.omg.CosTransactions.Status)3 TransactionFactory (org.omg.CosTransactions.TransactionFactory)3 TransactionFactoryImple (com.arjuna.ats.internal.jts.orbspecific.TransactionFactoryImple)2