Package org.jboss.messaging.core

Examples of org.jboss.messaging.core.Channel


        
   public void testAddRemoveReference() throws Throwable
   {
      doSetup(false, false, false, 100);
     
      Channel channel1 = new SimpleChannel(0, ms);
      Channel channel2 = new SimpleChannel(1, ms);

      Message[] messages = createMessages(10);    
     
      for (int i = 0; i < 5; i++)
      {
         Message m1 = messages[i * 2];
         Message m2 = messages[i * 2 + 1];
        
         MessageReference ref1_1 = ms.reference(m1);
         MessageReference ref1_2 = ms.reference(m1);
               
         MessageReference ref2_1 = ms.reference(m2);
         MessageReference ref2_2 = ms.reference(m2);
                 
         pm.addReference(channel1.getChannelID(), ref1_1, null);
         pm.addReference(channel1.getChannelID(), ref2_1, null);        
        
         pm.addReference(channel2.getChannelID(), ref1_2, null);
         pm.addReference(channel2.getChannelID(), ref2_2, null);
     
         List refs = getReferenceIds(channel1.getChannelID());
        
         assertNotNull(refs);
         assertEquals(2, refs.size());
         assertTrue(refs.contains(new Long(m1.getMessageID())));
         assertTrue(refs.contains(new Long(m2.getMessageID())));
        
         refs = getReferenceIds(channel2.getChannelID());
        
         assertNotNull(refs);
         assertEquals(2, refs.size());
         assertTrue(refs.contains(new Long(m1.getMessageID())));
         assertTrue(refs.contains(new Long(m2.getMessageID())));
        
         List msgs = getMessageIds();
         assertNotNull(msgs);
         assertEquals(2, msgs.size());
         assertTrue(msgs.contains(new Long(m1.getMessageID())));
         assertTrue(msgs.contains(new Long(m2.getMessageID())));
                 
         pm.removeReference(channel1.getChannelID(), ref1_1, null);
                 
         refs = getReferenceIds(channel1.getChannelID());
         assertNotNull(refs);
         assertEquals(1, refs.size());
         assertTrue(refs.contains(new Long(m2.getMessageID())));
        
         refs = getReferenceIds(channel2.getChannelID());
         assertNotNull(refs);
         assertEquals(2, refs.size());
         assertTrue(refs.contains(new Long(m1.getMessageID())));
         assertTrue(refs.contains(new Long(m2.getMessageID())));
        
         msgs = getMessageIds();
         assertNotNull(msgs);
         assertEquals(2, msgs.size());
         assertTrue(msgs.contains(new Long(m1.getMessageID())));
         assertTrue(msgs.contains(new Long(m2.getMessageID())));
        
         pm.removeReference(channel2.getChannelID(), ref1_2, null);
        
         refs = getReferenceIds(channel1.getChannelID());
         assertNotNull(refs);
         assertEquals(1, refs.size());
         assertTrue(refs.contains(new Long(m2.getMessageID())));
        
         refs = getReferenceIds(channel2.getChannelID());
         assertNotNull(refs);
         assertEquals(1, refs.size());        
         assertTrue(refs.contains(new Long(m2.getMessageID())));
        
         msgs = getMessageIds();
         assertNotNull(msgs);
         assertEquals(1, msgs.size());
         assertTrue(msgs.contains(new Long(m2.getMessageID())));
        
         pm.removeReference(channel1.getChannelID(), ref2_1, null);
        
         refs = getReferenceIds(channel1.getChannelID());
         assertNotNull(refs);
         assertTrue(refs.isEmpty());
        
         refs = getReferenceIds(channel2.getChannelID());
         assertNotNull(refs);
         assertEquals(1, refs.size());        
         assertTrue(refs.contains(new Long(m2.getMessageID())));
        
         msgs = getMessageIds();
         assertNotNull(msgs);
         assertEquals(1, msgs.size());
         assertTrue(msgs.contains(new Long(m2.getMessageID())));
        
         pm.removeReference(channel2.getChannelID(), ref2_2, null);
        
         refs = getReferenceIds(channel1.getChannelID());
         assertNotNull(refs);
         assertTrue(refs.isEmpty());
        
         refs = getReferenceIds(channel2.getChannelID());
         assertNotNull(refs);
         assertTrue(refs.isEmpty());
        
         msgs = getMessageIds();
         assertNotNull(msgs);
View Full Code Here


  
   protected void addRemoveGetReferences(boolean batch) throws Throwable
   {
      doSetup(false, false, false, 100);
     
      Channel channel1 = new SimpleChannel(0, ms);
     
      Channel channel2 = new SimpleChannel(1, ms);
     
      Message[] m = createMessages(10);
     
      MessageReference ref1 = ms.reference(m[0]);
      MessageReference ref2 = ms.reference(m[1]);
      MessageReference ref3 = ms.reference(m[2]);
      MessageReference ref4 = ms.reference(m[3]);
      MessageReference ref5 = ms.reference(m[4]);
      MessageReference ref6 = ms.reference(m[5]);
      MessageReference ref7 = ms.reference(m[6]);
      MessageReference ref8 = ms.reference(m[7]);
      MessageReference ref9 = ms.reference(m[8]);
      MessageReference ref10 = ms.reference(m[9]);
     
      MessageReference ref11 = ms.reference(m[0]);
      MessageReference ref12 = ms.reference(m[1]);
      MessageReference ref13 = ms.reference(m[2]);
      MessageReference ref14 = ms.reference(m[3]);
      MessageReference ref15 = ms.reference(m[4]);
     
      List refs = new ArrayList();
      refs.add(ref1);
      refs.add(ref2);
      refs.add(ref3);
      refs.add(ref4);
      refs.add(ref5);
      refs.add(ref6);
      refs.add(ref7);
      refs.add(ref8);
      refs.add(ref9);
      refs.add(ref10);
     
      pm.pageReferences(channel1.getChannelID(), refs, false);
     
      refs = new ArrayList();
      refs.add(ref11);
      refs.add(ref12);
      refs.add(ref13);
      refs.add(ref14);
      refs.add(ref15);
   
      pm.pageReferences(channel2.getChannelID(), refs, false);
                 
      List refIds = getReferenceIds(channel1.getChannelID());
      assertNotNull(refIds);
      assertEquals(10, refIds.size());
      assertTrue(refIds.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref2.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref3.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref4.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref5.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref6.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref7.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref8.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref9.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref10.getMessage().getMessageID())));
     
      refIds = getReferenceIds(channel2.getChannelID());
      assertNotNull(refIds);
      assertEquals(5, refIds.size());
      assertTrue(refIds.contains(new Long(ref11.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref12.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref13.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref14.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref15.getMessage().getMessageID())));
    
     
      List msgs = getMessageIds();
      assertNotNull(msgs);
      assertEquals(10, msgs.size());
      assertTrue(msgs.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref2.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref3.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref4.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref5.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref6.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref7.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref8.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref9.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref10.getMessage().getMessageID())));
     
      List msgIds = new ArrayList();
      msgIds.add(new Long(ref3.getMessage().getMessageID()));
      msgIds.add(new Long(ref4.getMessage().getMessageID()));
      msgIds.add(new Long(ref7.getMessage().getMessageID()));
      msgIds.add(new Long(ref9.getMessage().getMessageID()));
      msgIds.add(new Long(ref1.getMessage().getMessageID()));
     
      List ms = pm.getMessages(msgIds);
      assertNotNull(ms);
      assertEquals(5, ms.size());
      assertTrue(containsMessage(ms, ref3.getMessage().getMessageID()));
      assertTrue(containsMessage(ms, ref4.getMessage().getMessageID()));
      assertTrue(containsMessage(ms, ref7.getMessage().getMessageID()));
      assertTrue(containsMessage(ms, ref9.getMessage().getMessageID()));
      assertTrue(containsMessage(ms, ref1.getMessage().getMessageID()));
     
      refs = new ArrayList();
      refs.add(ref12);
      refs.add(ref13);
      refs.add(ref14);
      refs.add(ref15);
      pm.removeDepagedReferences(channel2.getChannelID(), refs);
     
      refIds = getReferenceIds(channel2.getChannelID());
      assertNotNull(refIds);
      assertEquals(1, refIds.size());
      assertTrue(refIds.contains(new Long(ref11.getMessage().getMessageID())));
     
      ms = getMessageIds();

      assertNotNull(ms);
      assertEquals(10, ms.size());
     
      assertTrue(msgs.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref2.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref3.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref4.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref5.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref6.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref7.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref8.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref9.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref10.getMessage().getMessageID())));
    
     
      refs = new ArrayList();
      refs.add(ref1);
      refs.add(ref2);
      refs.add(ref3);
      pm.removeDepagedReferences(channel1.getChannelID(), refs);
     
      refIds = getReferenceIds(channel1.getChannelID());
      assertNotNull(refIds);
      assertEquals(7, refIds.size());
      assertTrue(refIds.contains(new Long(ref4.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref5.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref6.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref7.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref8.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref9.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref10.getMessage().getMessageID())));
    
     
      ms = getMessageIds();
       
      assertNotNull(ms);
      assertEquals(8, ms.size());
     
      assertTrue(msgs.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref4.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref5.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref6.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref7.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref8.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref9.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref10.getMessage().getMessageID())));
     
      refs = new ArrayList();
      refs.add(ref11);
      pm.removeDepagedReferences(channel2.getChannelID(), refs);
     
      refs = new ArrayList();
      refs.add(ref4);
      refs.add(ref5);
      refs.add(ref6);
View Full Code Here

  
   public void testPageOrders() throws Throwable
   {
      doSetup(false, false, false, 100);
     
      Channel channel = new SimpleChannel(0, ms);
     
      Message[] m = createMessages(10);
     
      List refs = new ArrayList();
     
      MessageReference ref1 = ms.reference(m[0]);
      MessageReference ref2 = ms.reference(m[1]);
      MessageReference ref3 = ms.reference(m[2]);
      MessageReference ref4 = ms.reference(m[3]);
      MessageReference ref5 = ms.reference(m[4]);
      MessageReference ref6 = ms.reference(m[5]);
      MessageReference ref7 = ms.reference(m[6]);
      MessageReference ref8 = ms.reference(m[7]);
      MessageReference ref9 = ms.reference(m[8]);
      MessageReference ref10 = ms.reference(m[9]);
     
      refs.add(ref1);
      refs.add(ref2);
      refs.add(ref3);
      refs.add(ref4);
      refs.add(ref5);
      refs.add(ref6);
      refs.add(ref7);
      refs.add(ref8);
      refs.add(ref9);
      refs.add(ref10);
     
      pm.pageReferences(channel.getChannelID(), refs, false);
     
      ref1.setPagingOrder(0);
      ref2.setPagingOrder(1);
      ref3.setPagingOrder(2);
      ref4.setPagingOrder(3);
      ref5.setPagingOrder(4);
      ref6.setPagingOrder(5);
      ref7.setPagingOrder(6);
      ref8.setPagingOrder(7);
      ref9.setPagingOrder(8);
      ref10.setPagingOrder(9);
     
      pm.updatePageOrder(channel.getChannelID(), refs);
     
      List refInfos = pm.getPagedReferenceInfos(channel.getChannelID(), 0, 10);
     
      assertNotNull(refInfos);
     
      assertEquals(10, refInfos.size());
     
      assertEquals(ref1.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(0)).getMessageId());
      assertEquals(ref2.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(1)).getMessageId());
      assertEquals(ref3.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(2)).getMessageId());
      assertEquals(ref4.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(3)).getMessageId());
      assertEquals(ref5.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(4)).getMessageId());
      assertEquals(ref6.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(5)).getMessageId());
      assertEquals(ref7.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(6)).getMessageId());
      assertEquals(ref8.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(7)).getMessageId());
      assertEquals(ref9.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(8)).getMessageId());
      assertEquals(ref10.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(9)).getMessageId());
     
      refInfos = pm.getPagedReferenceInfos(channel.getChannelID(), 3, 5);
     
      assertNotNull(refInfos);
     
      assertEquals(5, refInfos.size());
     
      assertEquals(ref4.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(0)).getMessageId());
      assertEquals(ref5.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(1)).getMessageId());
      assertEquals(ref6.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(2)).getMessageId());
      assertEquals(ref7.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(3)).getMessageId());
      assertEquals(ref8.getMessage().getMessageID(), ((PersistenceManager.ReferenceInfo)refInfos.get(4)).getMessageId());
   
      pm.updateReferencesNotPagedInRange(channel.getChannelID(), 0, 3, 4);
     
      refInfos = pm.getPagedReferenceInfos(channel.getChannelID(), 5, 5);
     
      assertNotNull(refInfos);
     
      assertEquals(5, refInfos.size());
         
View Full Code Here

    
   public void testGetMessages() throws Throwable
   {
      doSetup(false, false, false, 100);
     
      Channel channel = new SimpleChannel(0, ms);
     
      Message[] m = createMessages(10);
     
      MessageReference ref1 = ms.reference(m[0]);
      MessageReference ref2 = ms.reference(m[1]);
      MessageReference ref3 = ms.reference(m[2]);
      MessageReference ref4 = ms.reference(m[3]);
      MessageReference ref5 = ms.reference(m[4]);
      MessageReference ref6 = ms.reference(m[5]);
      MessageReference ref7 = ms.reference(m[6]);
      MessageReference ref8 = ms.reference(m[7]);
      MessageReference ref9 = ms.reference(m[8]);
      MessageReference ref10 = ms.reference(m[9]);
     
      pm.addReference(channel.getChannelID(), ref1, null);
      pm.addReference(channel.getChannelID(), ref2, null);
      pm.addReference(channel.getChannelID(), ref3, null);
      pm.addReference(channel.getChannelID(), ref4, null);
      pm.addReference(channel.getChannelID(), ref5, null);
      pm.addReference(channel.getChannelID(), ref6, null);
      pm.addReference(channel.getChannelID(), ref7, null);
      pm.addReference(channel.getChannelID(), ref8, null);
      pm.addReference(channel.getChannelID(), ref9, null);
      pm.addReference(channel.getChannelID(), ref10, null);
     
      List refIds = getReferenceIds(channel.getChannelID());
      assertNotNull(refIds);
      assertEquals(10, refIds.size());
      assertTrue(refIds.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref2.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref3.getMessage().getMessageID())));
View Full Code Here

  
   public void testGetInitialRefInfos() throws Throwable
   {
      doSetup(false, false, false, 100);
     
      Channel channel = new SimpleChannel(0, ms);
     
      Message[] m = createMessages(10);
     
      List refs = new ArrayList();
     
      MessageReference ref1 = ms.reference(m[0]);
      MessageReference ref2 = ms.reference(m[1]);
      MessageReference ref3 = ms.reference(m[2]);
      MessageReference ref4 = ms.reference(m[3]);
      MessageReference ref5 = ms.reference(m[4]);
      MessageReference ref6 = ms.reference(m[5]);
      MessageReference ref7 = ms.reference(m[6]);
      MessageReference ref8 = ms.reference(m[7]);
      MessageReference ref9 = ms.reference(m[8]);
      MessageReference ref10 = ms.reference(m[9]);
     
      refs.add(ref1);
      refs.add(ref2);
      refs.add(ref3);
      refs.add(ref4);
      refs.add(ref5);
      refs.add(ref6);
      refs.add(ref7);
      refs.add(ref8);
      refs.add(ref9);
      refs.add(ref10);
     
      pm.pageReferences(channel.getChannelID(), refs, false);
     
      //First load exactly 10
      PersistenceManager.InitialLoadInfo info = pm.loadFromStart(channel.getChannelID(), 10);
     
      assertNull(info.getMinPageOrdering());
      assertNull(info.getMaxPageOrdering());
     
      List refInfos = info.getRefInfos();
View Full Code Here

  
   public void testGetMessagesMaxParams() throws Throwable
   {
      doSetup(false, false, false, 5);
     
      Channel channel = new SimpleChannel(0, ms);
     
      Message[] m = createMessages(10);
     
      MessageReference ref1 = ms.reference(m[0]);
      MessageReference ref2 = ms.reference(m[1]);
      MessageReference ref3 = ms.reference(m[2]);
      MessageReference ref4 = ms.reference(m[3]);
      MessageReference ref5 = ms.reference(m[4]);
      MessageReference ref6 = ms.reference(m[5]);
      MessageReference ref7 = ms.reference(m[6]);
      MessageReference ref8 = ms.reference(m[7]);
      MessageReference ref9 = ms.reference(m[8]);
      MessageReference ref10 = ms.reference(m[9]);
     
      pm.addReference(channel.getChannelID(), ref1, null);
      pm.addReference(channel.getChannelID(), ref2, null);
      pm.addReference(channel.getChannelID(), ref3, null);
      pm.addReference(channel.getChannelID(), ref4, null);
      pm.addReference(channel.getChannelID(), ref5, null);
      pm.addReference(channel.getChannelID(), ref6, null);
      pm.addReference(channel.getChannelID(), ref7, null);
      pm.addReference(channel.getChannelID(), ref8, null);
      pm.addReference(channel.getChannelID(), ref9, null);
      pm.addReference(channel.getChannelID(), ref10, null);
     
      List refIds = getReferenceIds(channel.getChannelID());
      assertNotNull(refIds);
      assertEquals(10, refIds.size());
      assertTrue(refIds.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref2.getMessage().getMessageID())));
      assertTrue(refIds.contains(new Long(ref3.getMessage().getMessageID())));
View Full Code Here

  
   protected void doTransactionCommit(boolean xa, boolean batch, boolean useBinaryStream, boolean trailingByte) throws Throwable
   {
      doSetup(batch, useBinaryStream, trailingByte, 100);

      Channel channel = new SimpleChannel(0, ms);
     
      IDManager idm = new IDManager("TRANSACTION_ID", 10, pm);
      idm.start();
     
      TransactionRepository txRep = new TransactionRepository(pm, ms, idm);
      txRep.start();

      log.debug("transaction log started");

      Message[] messages = createMessages(10);
     
      Message m1 = messages[0];
      Message m2 = messages[1];
      Message m3 = messages[2];     
      Message m4 = messages[3];
      Message m5 = messages[4];

      Transaction tx = null;
      if (xa)
      {        
         tx = txRep.createTransaction(new MockXid());
      }
      else
      {
         tx = txRep.createTransaction();
      }
     
      if (xa)
      {
        assertEquals(1,txRep.getNumberOfRegisteredTransactions());
      }
      else
      {
        assertEquals(0,txRep.getNumberOfRegisteredTransactions());
      }
     
      MessageReference ref1 = ms.reference(m1);
      MessageReference ref2 = ms.reference(m2)
      MessageReference ref3 = ms.reference(m3);      
      MessageReference ref4 = ms.reference(m4);
      MessageReference ref5 = ms.reference(m5);

      log.debug("adding references non-transactionally");

      // Add first two refs non transactionally
      pm.addReference(channel.getChannelID(), ref1, null);
      pm.addReference(channel.getChannelID(), ref2, null);
     
      //check they're there
      List refs = getReferenceIds(channel.getChannelID());
      assertNotNull(refs);
      assertEquals(2, refs.size());
      assertTrue(refs.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(refs.contains(new Long(ref2.getMessage().getMessageID())));
     
      List msgs = getMessageIds();
      assertNotNull(msgs);
      assertEquals(2, msgs.size());
      assertTrue(msgs.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref2.getMessage().getMessageID())));

      log.debug("ref1 and ref2 are there");

      //Add the next 3 refs transactionally
      pm.addReference(channel.getChannelID(), ref3, tx);
      pm.addReference(channel.getChannelID(), ref4, tx);
      pm.addReference(channel.getChannelID(), ref5, tx);
     
      //Remove the other 2 transactionally
      pm.removeReference(channel.getChannelID(), ref1, tx);
      pm.removeReference(channel.getChannelID(), ref2, tx);
     
      //Check the changes aren't visible
      refs = getReferenceIds(channel.getChannelID());
      assertNotNull(refs);
      assertEquals(2, refs.size());
      assertTrue(refs.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(refs.contains(new Long(ref2.getMessage().getMessageID())))
     
      msgs = getMessageIds();
      assertNotNull(msgs);
      assertEquals(2, msgs.size());
      assertTrue(msgs.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref2.getMessage().getMessageID())));
     
      //commit transaction
      tx.commit();

      assertEquals("numberOfRegisteredTransactions",0,txRep.getNumberOfRegisteredTransactions());
     
      //check we can see only the last 3 refs
      refs = getReferenceIds(channel.getChannelID());
      assertNotNull(refs);
      assertEquals(3, refs.size());
      assertTrue(refs.contains(new Long(ref3.getMessage().getMessageID())));
      assertTrue(refs.contains(new Long(ref4.getMessage().getMessageID())))
      assertTrue(refs.contains(new Long(ref5.getMessage().getMessageID())));
View Full Code Here

        
   protected void doTransactionRollback(boolean xa, boolean batch, boolean useBinaryStream, boolean trailingByte) throws Throwable
   {
      doSetup(batch, useBinaryStream, trailingByte, 100);

      Channel channel = new SimpleChannel(0, ms);
     
      IDManager idm = new IDManager("TRANSACTION_ID", 10, pm);
      idm.start();
     
      TransactionRepository txRep = new TransactionRepository(pm, ms, idm);
      txRep.start();
      Message[] messages = createMessages(10);    
     
      Message m1 = messages[0];
      Message m2 = messages[1];
      Message m3 = messages[2];     
      Message m4 = messages[3];
      Message m5 = messages[4];

     
      Transaction tx = null;
      if (xa)
      {
         tx = txRep.createTransaction(new MockXid());
      }
      else
      {
         tx = txRep.createTransaction();
      }
     
      MessageReference ref1 = ms.reference(m1);
      MessageReference ref2 = ms.reference(m2)
      MessageReference ref3 = ms.reference(m3);      
      MessageReference ref4 = ms.reference(m4);
      MessageReference ref5 = ms.reference(m5)

      //Add first two refs non transactionally
      pm.addReference(channel.getChannelID(), ref1, null);
      pm.addReference(channel.getChannelID(), ref2, null);
     
      //check they're there
      List refs = getReferenceIds(channel.getChannelID());
      assertNotNull(refs);
      assertEquals(2, refs.size());
      assertTrue(refs.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(refs.contains(new Long(ref2.getMessage().getMessageID())));     
     
      List msgs = getMessageIds();
      assertNotNull(msgs);
      assertEquals(2, msgs.size());
      assertTrue(msgs.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref2.getMessage().getMessageID())));
     
     
     
      //Add the next 3 refs transactionally
      pm.addReference(channel.getChannelID(), ref3, tx);
      pm.addReference(channel.getChannelID(), ref4, tx);
      pm.addReference(channel.getChannelID(), ref5, tx);
     
      //Remove the other 2 transactionally
      pm.removeReference(channel.getChannelID(), ref1, tx);
      pm.removeReference(channel.getChannelID(), ref2, tx);
     
      //Check the changes aren't visible
      refs = getReferenceIds(channel.getChannelID());
      assertNotNull(refs);
      assertEquals(2, refs.size());
      assertTrue(refs.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(refs.contains(new Long(ref2.getMessage().getMessageID())))
     
      msgs = getMessageIds();
      assertNotNull(msgs);
      assertEquals(2, msgs.size());
      assertTrue(msgs.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(msgs.contains(new Long(ref2.getMessage().getMessageID())));
     
      //rollback transaction
      tx.rollback();
     
      refs = getReferenceIds(channel.getChannelID());
      assertNotNull(refs);
      assertEquals(2, refs.size());
      assertTrue(refs.contains(new Long(ref1.getMessage().getMessageID())));
      assertTrue(refs.contains(new Long(ref2.getMessage().getMessageID())))
     
View Full Code Here

TOP

Related Classes of org.jboss.messaging.core.Channel

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.