Examples of XAResource


Examples of javax.transaction.xa.XAResource

  
   private void delistResources(Transaction tx) throws Exception
   {
      if (trace) { log.trace("Delisting resources from tx"); }
     
      XAResource resSource = ((XASession)sourceSession).getXAResource();
     
      tx.delistResource(resSource, XAResource.TMSUCCESS);
     
      XAResource resDest = ((XASession)targetSession).getXAResource();
     
      tx.delistResource(resDest, XAResource.TMSUCCESS);
     
      if (trace) { log.trace("Delisted resources from tx"); }
   }
View Full Code Here

Examples of javax.transaction.xa.XAResource

        
         conn2.start();
        
         XASession sess2 = conn2.createXASession();
        
         XAResource res = sess2.getXAResource();
        
         Xid xid1 = new MessagingXid("bq1".getBytes(), 42, "eemeli".getBytes());
        
         res.start(xid1, XAResource.TMNOFLAGS);
        
         MessageProducer prod3 = sess2.createProducer(queueA);
        
         TextMessage tm9 = sess2.createTextMessage("tm9");
         TextMessage tm10 = sess2.createTextMessage("tm10");
         TextMessage tm11 = sess2.createTextMessage("tm11");
         TextMessage tm12 = sess2.createTextMessage("tm12");
        
         prod3.send(tm9);
         prod3.send(tm10);
         prod3.send(tm11);
         prod3.send(tm12);
        
         MessageProducer prod4 = sess2.createProducer(queueB);
        
         TextMessage tm13 = sess2.createTextMessage("tm13");
         TextMessage tm14 = sess2.createTextMessage("tm14");
         TextMessage tm15 = sess2.createTextMessage("tm15");
         TextMessage tm16 = sess2.createTextMessage("tm16");
        
         prod4.send(tm13);
         prod4.send(tm14);
         prod4.send(tm15);
         prod4.send(tm16);
        
         MessageConsumer cons1 = sess2.createConsumer(queueA);
        
         TextMessage rm1 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm1);
         assertEquals(tm1.getText(), rm1.getText());
        
         TextMessage rm2 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm2);
         assertEquals(tm2.getText(), rm2.getText());
        
         TextMessage rm3 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm3);
         assertEquals(tm3.getText(), rm3.getText());
        
         TextMessage rm4 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm4);
         assertEquals(tm4.getText(), rm4.getText());
        
         Message m = cons1.receive(1000);
        
         assertNull(m);
                 
         MessageConsumer cons2 = sess2.createConsumer(queueB);
        
         TextMessage rm5 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm5);
         assertEquals(tm5.getText(), rm5.getText());
        
         TextMessage rm6 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm6);
         assertEquals(tm6.getText(), rm6.getText());
        
         TextMessage rm7 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm7);
         assertEquals(tm7.getText(), rm7.getText());
        
         TextMessage rm8 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm8);
         assertEquals(tm8.getText(), rm8.getText());
        
         m = cons2.receive(1000);
        
         assertNull(m);
        
         res.end(xid1, XAResource.TMSUCCESS);
        
         //prepare it
        
         log.trace("Preparing xid " + xid1);
         res.prepare(xid1);
         log.trace("Prepared xid " + xid1);
           
         conn3 = cf.createXAConnection();
        
         XASession sess3 = conn3.createXASession();
        
         XAResource res3 = sess3.getXAResource();
        
         Xid[] xids = res3.recover(XAResource.TMSTARTRSCAN);
         assertEquals(1, xids.length);
        
         Xid[] xids2 = res3.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);

         assertEquals(xid1, xids[0]);
        
         log.trace("Committing the tx");
        
         //Commit
         res3.commit(xids[0], false);
        
         log.trace("committed the tx");
        
         conn1.close();
        
View Full Code Here

Examples of javax.transaction.xa.XAResource

        
         conn2.start();
        
         XASession sess2 = conn2.createXASession();
        
         XAResource res = sess2.getXAResource();
        
         Xid xid1 = new MessagingXid("bq1".getBytes(), 42, "eemeli".getBytes());
        
         res.start(xid1, XAResource.TMNOFLAGS);
        
         MessageProducer prod3 = sess2.createProducer(queueA);
        
         TextMessage tm9 = sess2.createTextMessage("tm9");
         TextMessage tm10 = sess2.createTextMessage("tm10");
         TextMessage tm11 = sess2.createTextMessage("tm11");
         TextMessage tm12 = sess2.createTextMessage("tm12");
        
         prod3.send(tm9);
         prod3.send(tm10);
         prod3.send(tm11);
         prod3.send(tm12);
        
         MessageProducer prod4 = sess2.createProducer(queueB);
        
         TextMessage tm13 = sess2.createTextMessage("tm13");
         TextMessage tm14 = sess2.createTextMessage("tm14");
         TextMessage tm15 = sess2.createTextMessage("tm15");
         TextMessage tm16 = sess2.createTextMessage("tm16");
        
         prod4.send(tm13);
         prod4.send(tm14);
         prod4.send(tm15);
         prod4.send(tm16);
        
         MessageConsumer cons1 = sess2.createConsumer(queueA);
        
         TextMessage rm1 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm1);
         assertEquals(tm1.getText(), rm1.getText());
        
         TextMessage rm2 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm2);
         assertEquals(tm2.getText(), rm2.getText());
        
         TextMessage rm3 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm3);
         assertEquals(tm3.getText(), rm3.getText());
        
         TextMessage rm4 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm4);
         assertEquals(tm4.getText(), rm4.getText());
        
         Message m = cons1.receive(1000);
        
         assertNull(m);
                 
         MessageConsumer cons2 = sess2.createConsumer(queueB);
        
         TextMessage rm5 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm5);
         assertEquals(tm5.getText(), rm5.getText());
        
         TextMessage rm6 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm6);
         assertEquals(tm6.getText(), rm6.getText());
        
         TextMessage rm7 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm7);
         assertEquals(tm7.getText(), rm7.getText());
        
         TextMessage rm8 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm8);
         assertEquals(tm8.getText(), rm8.getText());
        
         m = cons2.receive(1000);
        
         assertNull(m);
        
         res.end(xid1, XAResource.TMSUCCESS);
        
         //prepare it
        
         res.prepare(xid1);
                 
         conn3 = cf.createXAConnection();
        
         XASession sess3 = conn3.createXASession();
        
         XAResource res3 = sess3.getXAResource();
        
         Xid[] xids = res3.recover(XAResource.TMSTARTRSCAN);
         assertEquals(1, xids.length);
        
         Xid[] xids2 = res3.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);

         assertEquals(xid1, xids[0]);
        
         log.trace("rolling back the tx");
        
         //rollback
         res3.rollback(xids[0]);
        
         log.trace("rolledb back the tx");
        
         Thread.sleep(1000);
        
View Full Code Here

Examples of javax.transaction.xa.XAResource

        
         conn2.start();
        
         XASession sess2 = conn2.createXASession();
        
         XAResource res = sess2.getXAResource();
        
         Xid xid1 = new MessagingXid("bq1".getBytes(), 42, "eemeli".getBytes());
        
         res.start(xid1, XAResource.TMNOFLAGS);
        
         MessageProducer prod3 = sess2.createProducer(queueA);
        
         TextMessage tm9 = sess2.createTextMessage("tm9");
         TextMessage tm10 = sess2.createTextMessage("tm10");
         TextMessage tm11 = sess2.createTextMessage("tm11");
         TextMessage tm12 = sess2.createTextMessage("tm12");
        
         prod3.send(tm9);
         prod3.send(tm10);
         prod3.send(tm11);
         prod3.send(tm12);
        
         MessageProducer prod4 = sess2.createProducer(queueB);
        
         TextMessage tm13 = sess2.createTextMessage("tm13");
         TextMessage tm14 = sess2.createTextMessage("tm14");
         TextMessage tm15 = sess2.createTextMessage("tm15");
         TextMessage tm16 = sess2.createTextMessage("tm16");
        
         prod4.send(tm13);
         prod4.send(tm14);
         prod4.send(tm15);
         prod4.send(tm16);
        
         MessageConsumer cons1 = sess2.createConsumer(queueA);
        
         TextMessage rm1 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm1);
         assertEquals(tm1.getText(), rm1.getText());
        
         TextMessage rm2 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm2);
         assertEquals(tm2.getText(), rm2.getText());
        
         TextMessage rm3 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm3);
         assertEquals(tm3.getText(), rm3.getText());
        
         TextMessage rm4 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm4);
         assertEquals(tm4.getText(), rm4.getText());
        
         Message m = cons1.receive(1000);
        
         assertNull(m);
                 
         MessageConsumer cons2 = sess2.createConsumer(queueB);
        
         TextMessage rm5 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm5);
         assertEquals(tm5.getText(), rm5.getText());
        
         TextMessage rm6 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm6);
         assertEquals(tm6.getText(), rm6.getText());
        
         TextMessage rm7 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm7);
         assertEquals(tm7.getText(), rm7.getText());
        
         TextMessage rm8 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm8);
         assertEquals(tm8.getText(), rm8.getText());
        
         m = cons2.receive(1000);
        
         assertNull(m);
        
         res.end(xid1, XAResource.TMSUCCESS);
        
         //prepare it
        
         res.prepare(xid1);
        
         conn1 = null;
        
         conn2 = null;
        
         // Now "crash" the server

         ServerManagement.stopServerPeer();

         ServerManagement.startServerPeer();
        
         ServerManagement.deployQueue("QA");
        
         ServerManagement.deployQueue("QB");
                          
         conn3 = cf.createXAConnection();
        
         XASession sess3 = conn3.createXASession();
        
         XAResource res3 = sess3.getXAResource();
        
         Xid[] xids = res3.recover(XAResource.TMSTARTRSCAN);
         assertEquals(1, xids.length);
        
         Xid[] xids2 = res3.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);

         assertEquals(xid1, xids[0]);
        
         log.trace("Committing the tx");
        
         //Commit
         res3.commit(xids[0], false);
        
         log.trace("committed the tx");

         conn1 = cf.createConnection();
        
View Full Code Here

Examples of javax.transaction.xa.XAResource

        
         conn2.start();
        
         XASession sess2 = conn2.createXASession();
        
         XAResource res = sess2.getXAResource();
        
         Xid xid1 = new MessagingXid("bq1".getBytes(), 42, "eemeli".getBytes());
        
         res.start(xid1, XAResource.TMNOFLAGS);
        
         MessageProducer prod3 = sess2.createProducer(queueA);
        
         TextMessage tm9 = sess2.createTextMessage("tm9");
         TextMessage tm10 = sess2.createTextMessage("tm10");
         TextMessage tm11 = sess2.createTextMessage("tm11");
         TextMessage tm12 = sess2.createTextMessage("tm12");
        
         prod3.send(tm9);
         prod3.send(tm10);
         prod3.send(tm11);
         prod3.send(tm12);
        
         MessageProducer prod4 = sess2.createProducer(queueB);
        
         TextMessage tm13 = sess2.createTextMessage("tm13");
         TextMessage tm14 = sess2.createTextMessage("tm14");
         TextMessage tm15 = sess2.createTextMessage("tm15");
         TextMessage tm16 = sess2.createTextMessage("tm16");
        
         prod4.send(tm13);
         prod4.send(tm14);
         prod4.send(tm15);
         prod4.send(tm16);
        
         MessageConsumer cons1 = sess2.createConsumer(queueA);
        
         TextMessage rm1 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm1);
         assertEquals(tm1.getText(), rm1.getText());
        
         TextMessage rm2 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm2);
         assertEquals(tm2.getText(), rm2.getText());
        
         TextMessage rm3 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm3);
         assertEquals(tm3.getText(), rm3.getText());
        
         TextMessage rm4 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm4);
         assertEquals(tm4.getText(), rm4.getText());
        
         Message m = cons1.receive(1000);
        
         assertNull(m);
                 
         MessageConsumer cons2 = sess2.createConsumer(queueB);
        
         TextMessage rm5 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm5);
         assertEquals(tm5.getText(), rm5.getText());
        
         TextMessage rm6 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm6);
         assertEquals(tm6.getText(), rm6.getText());
        
         TextMessage rm7 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm7);
         assertEquals(tm7.getText(), rm7.getText());
        
         TextMessage rm8 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm8);
         assertEquals(tm8.getText(), rm8.getText());
        
         m = cons2.receive(1000);
        
         assertNull(m);
        
         res.end(xid1, XAResource.TMSUCCESS);
        
         //prepare it
        
         res.prepare(xid1);
        
         conn1 = null;
        
         conn2 = null;
        
         // Now "crash" the server

         ServerManagement.stopServerPeer();

         ServerManagement.startServerPeer();
        
         ServerManagement.deployQueue("QA");
        
         ServerManagement.deployQueue("QB");
                          
         conn3 = cf.createXAConnection();
        
         XASession sess3 = conn3.createXASession();
        
         XAResource res3 = sess3.getXAResource();
        
         Xid[] xids = res3.recover(XAResource.TMSTARTRSCAN);
         assertEquals(1, xids.length);
        
         Xid[] xids2 = res3.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);

         assertEquals(xid1, xids[0]);
        
         log.trace("rolling back the tx");
        
         //rollback
         res3.rollback(xids[0]);
        
         log.trace("rolled back the tx");
        
         Thread.sleep(1000);
View Full Code Here

Examples of javax.transaction.xa.XAResource

        
         conn2.start();
        
         XASession sess2 = conn2.createXASession();
        
         XAResource res = sess2.getXAResource();
        
         Xid xid1 = new MessagingXid("bq1".getBytes(), 42, "eemeli".getBytes());
        
         res.start(xid1, XAResource.TMNOFLAGS);
        
         MessageProducer prod3 = sess2.createProducer(queueA);
        
         TextMessage tm9 = sess2.createTextMessage("tm9");
         TextMessage tm10 = sess2.createTextMessage("tm10");
         TextMessage tm11 = sess2.createTextMessage("tm11");
         TextMessage tm12 = sess2.createTextMessage("tm12");
        
         prod3.send(tm9);
         prod3.send(tm10);
         prod3.send(tm11);
         prod3.send(tm12);
        
         MessageProducer prod4 = sess2.createProducer(queueB);
        
         TextMessage tm13 = sess2.createTextMessage("tm13");
         TextMessage tm14 = sess2.createTextMessage("tm14");
         TextMessage tm15 = sess2.createTextMessage("tm15");
         TextMessage tm16 = sess2.createTextMessage("tm16");
        
         prod4.send(tm13);
         prod4.send(tm14);
         prod4.send(tm15);
         prod4.send(tm16);
        
         MessageConsumer cons1 = sess2.createConsumer(queueA);
        
         TextMessage rm1 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm1);
         assertEquals(tm1.getText(), rm1.getText());
        
         TextMessage rm2 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm2);
         assertEquals(tm2.getText(), rm2.getText());
        
         TextMessage rm3 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm3);
         assertEquals(tm3.getText(), rm3.getText());
        
         TextMessage rm4 = (TextMessage)cons1.receive(1000);
         assertNotNull(rm4);
         assertEquals(tm4.getText(), rm4.getText());
        
         Message m = cons1.receive(1000);
        
         assertNull(m);
                 
         MessageConsumer cons2 = sess2.createConsumer(queueB);
        
         TextMessage rm5 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm5);
         assertEquals(tm5.getText(), rm5.getText());
        
         TextMessage rm6 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm6);
         assertEquals(tm6.getText(), rm6.getText());
        
         TextMessage rm7 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm7);
         assertEquals(tm7.getText(), rm7.getText());
        
         TextMessage rm8 = (TextMessage)cons2.receive(1000);
         assertNotNull(rm8);
         assertEquals(tm8.getText(), rm8.getText());
        
         m = cons2.receive(1000);
        
         assertNull(m);
        
         res.end(xid1, XAResource.TMSUCCESS);
        
         //prepare it
        
         res.prepare(xid1);
        
         res.commit(xid1, false);
        
         conn1.close();
        
         conn2.close();
                 
View Full Code Here

Examples of javax.transaction.xa.XAResource

      {
         conn1 = cf.createXAConnection();
  
         XASession sess1 = conn1.createXASession();
  
         XAResource res1 = sess1.getXAResource();
  
         //Pretend to be a transaction manager by interacting through the XAResources
         Xid xid1 = new MessagingXid("bq1".getBytes(), 42, "eemeli".getBytes());
  
         log.trace("Sending message");
        
         //Send message in tx
        
         res1.start(xid1, XAResource.TMNOFLAGS);
  
         MessageProducer prod1 = sess1.createProducer(queueTX);
  
         TextMessage tm1 = sess1.createTextMessage("tm1");
  
         prod1.send(tm1);
        
         res1.end(xid1, XAResource.TMSUCCESS);
        
         log.trace("Sent message");
  
         //prepare tx
  
         res1.prepare(xid1);
  
         log.trace("prepared tx");
        
         conn2 = cf.createConnection();
        
         Session sess2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
        
         MessageConsumer cons2 = sess2.createConsumer(queueTX);
        
         conn2.start();
        
         //Verify message can't be received
        
         Message m = cons2.receive(1000);
        
         assertNull(m);
        
        
         //Now recover
        
         conn3 = cf.createXAConnection();
        
         XASession sess3 = conn3.createXASession();
        
         XAResource res3 = sess3.getXAResource();
        
         Xid[] xids = res3.recover(XAResource.TMSTARTRSCAN);
         assertEquals(1, xids.length);
        
         Xid[] xids2 = res3.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);

         assertEquals(xid1, xids[0]);
                 
         // Verify message still can't be received
View Full Code Here

Examples of javax.transaction.xa.XAResource

      {
         conn1 = cf.createXAConnection();
  
         XASession sess1 = conn1.createXASession();
  
         XAResource res1 = sess1.getXAResource();
  
         //Pretend to be a transaction manager by interacting through the XAResources
         Xid xid1 = new MessagingXid("bq1".getBytes(), 42, "eemeli".getBytes());
  
         log.trace("Sending message");
        
         //Send message in tx
        
         res1.start(xid1, XAResource.TMNOFLAGS);
  
         MessageProducer prod1 = sess1.createProducer(queueTX);
  
         TextMessage tm1 = sess1.createTextMessage("tm1");
  
         prod1.send(tm1);
        
         res1.end(xid1, XAResource.TMSUCCESS);
        
         log.trace("Sent message");
  
         //prepare tx
  
         res1.prepare(xid1);
  
         log.trace("prepared tx");
        
         conn2 = cf.createConnection();
        
         Session sess2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
        
         MessageConsumer cons2 = sess2.createConsumer(queueTX);
        
         conn2.start();
        
         //Verify message can't be received
        
         Message m = cons2.receive(1000);
        
         assertNull(m);
        
         conn1 = null;
        
         conn2 = null;
        
         // Now "crash" the server

         ServerManagement.stopServerPeer();

         ServerManagement.startServerPeer();
        
         ServerManagement.deployQueue("TXQ");
        
         log.trace("Restarted");
        
         //Now recover
        
         conn3 = cf.createXAConnection();
        
         XASession sess3 = conn3.createXASession();
        
         XAResource res3 = sess3.getXAResource();
        
         log.trace("created connection");
        
         Xid[] xids = res3.recover(XAResource.TMSTARTRSCAN);
         assertEquals(1, xids.length);
        
         Xid[] xids2 = res3.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);

         assertEquals(xid1, xids[0]);
        
         log.trace("recovered");
        
         conn2 = cf.createConnection();
        
         sess2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
        
         cons2 = sess2.createConsumer(queueTX);
        
         conn2.start();
                 
         // Verify message still can't be received
        
         m = cons2.receive(1000);
        
         assertNull(m);
        
         log.trace("still can't see message");
        
         //Commit the tx
        
         res3.commit(xids[0], false);
        
         log.trace("committed");
        
         //The message should now be available
        
View Full Code Here

Examples of javax.transaction.xa.XAResource

        
         conn2 = cf.createXAConnection();
  
         XASession sess2 = conn2.createXASession();
  
         XAResource res1 = sess2.getXAResource();
  
         //Pretend to be a transaction manager by interacting through the XAResources
         Xid xid1 = new MessagingXid("bq1".getBytes(), 42, "eemeli".getBytes());
        
         res1.start(xid1, XAResource.TMNOFLAGS);
        
         MessageConsumer cons = sess2.createConsumer(queueTX);
        
         conn2.start();
        
         //Consume the message
        
         TextMessage rm1 = (TextMessage)cons.receive(1000);
        
         assertNotNull(rm1);
        
         assertEquals(tm1.getText(), rm1.getText());
        
         res1.end(xid1, XAResource.TMSUCCESS);
        
         //prepare the tx
        
         res1.prepare(xid1);
        
        
         //Now recover
        
         conn3 = cf.createXAConnection();
        
         XASession sess3 = conn3.createXASession();
        
         XAResource res3 = sess3.getXAResource();
        
         Xid[] xids = res3.recover(XAResource.TMSTARTRSCAN);
         assertEquals(1, xids.length);
        
         Xid[] xids2 = res3.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);

         assertEquals(xid1, xids[0]);
                 
         //Commit the tx
View Full Code Here

Examples of javax.transaction.xa.XAResource

                                   
         conn2 = cf.createXAConnection();
  
         XASession sess2 = conn2.createXASession();
  
         XAResource res1 = sess2.getXAResource();
  
         //Pretend to be a transaction manager by interacting through the XAResources
         Xid xid1 = new MessagingXid("bq1".getBytes(), 42, "eemeli".getBytes());
        
         res1.start(xid1, XAResource.TMNOFLAGS);
        
         MessageConsumer cons = sess2.createConsumer(queueTX);
        
         conn2.start();
        
         //Consume the message
        
         TextMessage rm1 = (TextMessage)cons.receive(1000);
        
         assertNotNull(rm1);
        
         assertEquals(tm1.getText(), rm1.getText());
        
         res1.end(xid1, XAResource.TMSUCCESS);
        
         //prepare the tx
        
         res1.prepare(xid1);
        
         conn1 = null;
        
         conn2 = null;
        
         // Now "crash" the server

         ServerManagement.stopServerPeer();

         ServerManagement.startServerPeer();
        
         ServerManagement.deployQueue("TXQ");
        
        
         //Now recover
        
         conn3 = cf.createXAConnection();
        
         XASession sess3 = conn3.createXASession();
        
         XAResource res3 = sess3.getXAResource();
        
         Xid[] xids = res3.recover(XAResource.TMSTARTRSCAN);
         assertEquals(1, xids.length);
        
         Xid[] xids2 = res3.recover(XAResource.TMENDRSCAN);
         assertEquals(0, xids2.length);

         assertEquals(xid1, xids[0]);
                 
         //Commit the tx
        
         res3.commit(xids[0], false);
        
         //The message should be acknowldged
        
         conn3.close();
        
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.