当前位置: 首页>>代码示例>>Java>>正文


Java ClientConsumer.receive方法代码示例

本文整理汇总了Java中org.apache.activemq.artemis.api.core.client.ClientConsumer.receive方法的典型用法代码示例。如果您正苦于以下问题:Java ClientConsumer.receive方法的具体用法?Java ClientConsumer.receive怎么用?Java ClientConsumer.receive使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.activemq.artemis.api.core.client.ClientConsumer的用法示例。


在下文中一共展示了ClientConsumer.receive方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testRouteToSingleQueueWithFilter

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
@Test
public void testRouteToSingleQueueWithFilter() throws Exception {
   ClientSession sendSession = cf.createSession(false, true, true);
   sendSession.createQueue(addressA, queueA, new SimpleString("foo = 'bar'"), false);
   int numMessages = 300;
   ClientProducer p = sendSession.createProducer(addressA);
   for (int i = 0; i < numMessages; i++) {
      ClientMessage clientMessage = sendSession.createMessage(false);
      clientMessage.putStringProperty(new SimpleString("foo"), new SimpleString("bar"));
      p.send(clientMessage);
   }
   ClientSession session = cf.createSession(false, true, true);
   ClientConsumer c1 = session.createConsumer(queueA);
   session.start();
   for (int i = 0; i < numMessages; i++) {
      ClientMessage m = c1.receive(5000);
      Assert.assertNotNull(m);
      m.acknowledge();
   }
   Assert.assertNull(c1.receiveImmediate());
   sendSession.close();
   session.close();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:24,代码来源:RoutingTest.java

示例2: testFirstMessageReceivedAndCancelled

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
@Test
public void testFirstMessageReceivedAndCancelled() throws Exception {
   ClientProducer producer = clientSession.createProducer(address);
   ClientConsumer consumer = clientSession.createConsumer(qName1);
   ClientMessage m1 = createTextMessage(clientSession, "m1");
   SimpleString rh = new SimpleString("SMID1");
   m1.putStringProperty(Message.HDR_LAST_VALUE_NAME, rh);
   ClientMessage m2 = createTextMessage(clientSession, "m2");
   m2.putStringProperty(Message.HDR_LAST_VALUE_NAME, rh);
   producer.send(m1);
   clientSession.start();
   ClientMessage m = consumer.receive(1000);
   Assert.assertNotNull(m);
   Assert.assertEquals(m.getBodyBuffer().readString(), "m1");
   producer.send(m2);
   consumer.close();
   consumer = clientSession.createConsumer(qName1);
   m = consumer.receive(1000);
   Assert.assertNotNull(m);
   Assert.assertEquals("m2", m.getBodyBuffer().readString());
   m.acknowledge();
   m = consumer.receiveImmediate();
   Assert.assertNull(m);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:25,代码来源:LVQTest.java

示例3: receiveAllMessages

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
private void receiveAllMessages() throws Exception {
   final ClientSessionFactory sf = createSessionFactory(locator);
   ClientSession session = sf.createSession(null, null, false, true, true, false, 0);

   session.start();
   ClientConsumer consumer = session.createConsumer(ADDRESS);
   for (int i = 0; i < numMsgs; i++) {
      ClientMessage message = consumer.receive(2000);
      assertNotNull(message);
      message.acknowledge();
   }

   session.commit();
   session.close();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:16,代码来源:PagingReceiveTest.java

示例4: testBasicWildcardRoutingQueuesDontExist2

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
@Test
public void testBasicWildcardRoutingQueuesDontExist2() throws Exception {
   SimpleString addressAB = new SimpleString("a.b");
   SimpleString addressAC = new SimpleString("a.c");
   SimpleString address = new SimpleString("a.*");
   SimpleString queueName = new SimpleString("Q");
   SimpleString queueName2 = new SimpleString("Q2");
   clientSession.createQueue(address, queueName, null, false);
   clientSession.createQueue(address, queueName2, null, false);
   ClientProducer producer = clientSession.createProducer(addressAB);
   ClientProducer producer2 = clientSession.createProducer(addressAC);
   ClientConsumer clientConsumer = clientSession.createConsumer(queueName);
   clientSession.start();
   producer.send(createTextMessage(clientSession, "m1"));
   producer2.send(createTextMessage(clientSession, "m2"));
   ClientMessage m = clientConsumer.receive(500);
   Assert.assertNotNull(m);
   Assert.assertEquals("m1", m.getBodyBuffer().readString());
   m.acknowledge();
   m = clientConsumer.receive(500);
   Assert.assertNotNull(m);
   Assert.assertEquals("m2", m.getBodyBuffer().readString());
   m.acknowledge();
   m = clientConsumer.receiveImmediate();
   Assert.assertNull(m);
   clientConsumer.close();
   clientSession.deleteQueue(queueName);

   Assert.assertEquals(1, server.getPostOffice().getBindingsForAddress(addressAB).getBindings().size());
   Assert.assertEquals(1, server.getPostOffice().getBindingsForAddress(addressAC).getBindings().size());
   Assert.assertEquals(1, server.getPostOffice().getBindingsForAddress(address).getBindings().size());

   clientSession.deleteQueue(queueName2);

   Assert.assertEquals(0, server.getPostOffice().getBindingsForAddress(addressAB).getBindings().size());
   Assert.assertEquals(0, server.getPostOffice().getBindingsForAddress(addressAC).getBindings().size());
   Assert.assertEquals(0, server.getPostOffice().getBindingsForAddress(address).getBindings().size());
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:39,代码来源:WildCardRoutingTest.java

示例5: testJAASSecurityManagerAuthenticationWithValidateUser

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
@Test
public void testJAASSecurityManagerAuthenticationWithValidateUser() throws Exception {
   ActiveMQJAASSecurityManager securityManager = new ActiveMQJAASSecurityManager("PropertiesLogin");
   ActiveMQServer server = addServer(ActiveMQServers.newActiveMQServer(createDefaultInVMConfig().setSecurityEnabled(true), ManagementFactory.getPlatformMBeanServer(), securityManager, false));
   server.getConfiguration().setPopulateValidatedUser(true);
   server.start();
   Role role = new Role("programmers", true, true, true, true, true, true, true, true, true, true);
   Set<Role> roles = new HashSet<>();
   roles.add(role);
   server.getSecurityRepository().addMatch("#", roles);
   ClientSessionFactory cf = createSessionFactory(locator);

   try {
      ClientSession session = cf.createSession("first", "secret", false, true, true, false, 0);
      server.createQueue(SimpleString.toSimpleString("address"), RoutingType.ANYCAST, SimpleString.toSimpleString("queue"), null, true, false);
      ClientProducer producer = session.createProducer("address");
      producer.send(session.createMessage(true));
      session.commit();
      producer.close();
      ClientConsumer consumer = session.createConsumer("queue");
      session.start();
      ClientMessage message = consumer.receive(1000);
      assertNotNull(message);
      assertEquals("first", message.getValidatedUserID());
      session.close();
   } catch (ActiveMQException e) {
      e.printStackTrace();
      Assert.fail("should not throw exception");
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:31,代码来源:SecurityTest.java

示例6: testConsumerAckImmediateAutoCommitFalse

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
@Test
public void testConsumerAckImmediateAutoCommitFalse() throws Exception {

   ClientSessionFactory sf = createSessionFactory(locator);

   ClientSession session = sf.createSession(false, true, false, true);

   ClientProducer producer = session.createProducer(QUEUE);

   final int numMessages = 100;

   for (int i = 0; i < numMessages; i++) {
      ClientMessage message = createTextMessage(session, "m" + i);
      producer.send(message);
   }

   ClientConsumer consumer = session.createConsumer(QUEUE);
   session.start();
   for (int i = 0; i < numMessages; i++) {
      ClientMessage message2 = consumer.receive(1000);

      Assert.assertEquals("m" + i, message2.getBodyBuffer().readString());
   }
   // assert that all the messages are there and none have been acked
   Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(QUEUE).getBindable()).getDeliveringCount());
   Assert.assertEquals(0, getMessageCount(((Queue) server.getPostOffice().getBinding(QUEUE).getBindable())));

   session.close();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:30,代码来源:ConsumerTest.java

示例7: testUniqueIDsWithDivert

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
@Test
public void testUniqueIDsWithDivert() throws Exception {
   Map<String, Object> params = new HashMap<>();
   params.put(TransportConstants.HOST_PROP_NAME, "localhost");
   TransportConfiguration tc = createTransportConfiguration(true, false, params);
   ServerLocator locator = addServerLocator(ActiveMQClient.createServerLocatorWithHA(tc)).setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setBlockOnAcknowledge(true).setReconnectAttempts(-1);
   sf = createSessionFactoryAndWaitForTopology(locator, 2);
   int minLarge = locator.getMinLargeMessageSize();

   ClientSession session = sf.createSession(false, false);
   addClientSession(session);
   session.start();

   final int num = 100;
   ClientProducer producer = session.createProducer(DIVERT_ADDRESS);
   for (int i = 0; i < num; i++) {
      ClientMessage message = createLargeMessage(session, 2 * minLarge);
      producer.send(message);
   }
   session.commit();

   ClientConsumer consumer = session.createConsumer(DIVERT_ADDRESS);
   for (int i = 0;  i < num; i++) {
      ClientMessage receivedFromSourceQueue = consumer.receive(5000);
      assertNotNull(receivedFromSourceQueue);
      receivedFromSourceQueue.acknowledge();
   }
   session.commit();

   crash(session);

   ClientConsumer consumer1 = session.createConsumer(DIVERT_FORWARD_ADDRESS);
   for (int i = 0; i < num; i++) {
      ClientMessage receivedFromTargetQueue = consumer1.receive(5000);
      assertNotNull(receivedFromTargetQueue);
      receivedFromTargetQueue.acknowledge();
   }
   session.commit();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:40,代码来源:FailoverWithDivertTest.java

示例8: testFailMessagesDuplicates

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
@Test
public void testFailMessagesDuplicates() throws Exception {
   clearDataRecreateServerDirs();

   Configuration config = createDefaultInVMConfig();

   HashMap<String, AddressSettings> settings = new HashMap<>();

   AddressSettings set = new AddressSettings();
   set.setAddressFullMessagePolicy(AddressFullMessagePolicy.FAIL);

   settings.put(PagingTest.ADDRESS.toString(), set);

   server = createServer(true, config, 1024, 5 * 1024, settings);

   server.start();

   locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setBlockOnAcknowledge(true);

   sf = createSessionFactory(locator);
   ClientSession session = addClientSession(sf.createSession(true, true, 0));

   session.createQueue(PagingTest.ADDRESS, PagingTest.ADDRESS, null, true);

   ClientProducer producer = session.createProducer(PagingTest.ADDRESS);

   ClientMessage message = session.createMessage(true);

   int biggerMessageSize = 2048;
   byte[] body = new byte[biggerMessageSize];
   ByteBuffer bb = ByteBuffer.wrap(body);
   for (int j = 1; j <= biggerMessageSize; j++) {
      bb.put(getSamplebyte(j));
   }

   message.getBodyBuffer().writeBytes(body);

   // Send enough messages to fill up the address.
   producer.send(message);
   producer.send(message);
   producer.send(message);

   Queue q = (Queue) server.getPostOffice().getBinding(ADDRESS).getBindable();
   Wait.waitFor(() -> 3 == getMessageCount(q));
   Assert.assertEquals(3, getMessageCount(q));

   // send a message with a dup ID that should fail b/c the address is full
   SimpleString dupID1 = new SimpleString("abcdefg");
   message.putBytesProperty(Message.HDR_DUPLICATE_DETECTION_ID, dupID1.getData());
   message.putStringProperty("key", dupID1.toString());

   validateExceptionOnSending(producer, message);

   Assert.assertEquals(3, getMessageCount(q));

   ClientConsumer consumer = session.createConsumer(ADDRESS);

   session.start();

   // Receive a message...this should open space for another message
   ClientMessage msgReceived = consumer.receive(5000);
   assertNotNull(msgReceived);
   msgReceived.acknowledge();
   session.commit(); // to make sure it's on the server (roundtrip)
   consumer.close();

   Assert.assertEquals(2, getMessageCount(q));

   producer.send(message);

   Assert.assertEquals(3, getMessageCount(q));

   consumer = session.createConsumer(ADDRESS);

   for (int i = 0; i < 3; i++) {
      msgReceived = consumer.receive(5000);
      assertNotNull(msgReceived);
      msgReceived.acknowledge();
      session.commit();
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:82,代码来源:PagingTest.java

示例9: receiveMessage

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
private ClientMessage receiveMessage() throws Exception {
   final ClientSessionFactory sf = createSessionFactory(locator);
   ClientSession session = sf.createSession(null, null, false, true, true, false, 0);

   session.start();
   ClientConsumer consumer = session.createConsumer(ADDRESS);

   ClientMessage message = consumer.receive(1000);

   session.commit();

   if (message != null) {
      message.acknowledge();
   }

   consumer.close();

   session.close();

   return message;
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:22,代码来源:PagingReceiveTest.java

示例10: testScheduledMessagesDeliveredCorrectly

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
public void testScheduledMessagesDeliveredCorrectly(final boolean recover) throws Exception {

      ClientSessionFactory sessionFactory = createSessionFactory(locator);
      ClientSession session = sessionFactory.createSession(false, true, false);
      session.createQueue(atestq, atestq, null, true);
      ClientProducer producer = session.createProducer(atestq);
      ClientMessage m1 = createDurableMessage(session, "m1");
      ClientMessage m2 = createDurableMessage(session, "m2");
      ClientMessage m3 = createDurableMessage(session, "m3");
      ClientMessage m4 = createDurableMessage(session, "m4");
      ClientMessage m5 = createDurableMessage(session, "m5");
      long time = System.currentTimeMillis();
      time += 10000;
      m1.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m1);
      time += 1000;
      m2.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m2);
      time += 1000;
      m3.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m3);
      time += 1000;
      m4.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m4);
      time += 1000;
      m5.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m5);
      time -= 4000;
      if (recover) {
         producer.close();
         session.close();
         server.stop();
         server = null;
         server = createServer(true, configuration);
         server.start();

         sessionFactory = createSessionFactory(locator);

         session = sessionFactory.createSession(false, true, true);
      }

      ClientConsumer consumer = session.createConsumer(atestq);

      session.start();

      ClientMessage message = consumer.receive(11000);
      Assert.assertTrue(System.currentTimeMillis() >= time);
      Assert.assertEquals("m1", message.getBodyBuffer().readString());
      message.acknowledge();
      time += 1000;
      message = consumer.receive(1250);
      Assert.assertTrue(System.currentTimeMillis() >= time);
      Assert.assertEquals("m2", message.getBodyBuffer().readString());
      message.acknowledge();
      time += 1000;
      message = consumer.receive(1250);
      Assert.assertTrue(System.currentTimeMillis() >= time);
      Assert.assertEquals("m3", message.getBodyBuffer().readString());
      message.acknowledge();
      time += 1000;
      message = consumer.receive(1250);
      Assert.assertTrue(System.currentTimeMillis() >= time);
      Assert.assertEquals("m4", message.getBodyBuffer().readString());
      message.acknowledge();
      time += 1000;
      message = consumer.receive(1250);
      Assert.assertTrue(System.currentTimeMillis() >= time);
      Assert.assertEquals("m5", message.getBodyBuffer().readString());
      message.acknowledge();

      // Make sure no more messages
      consumer.close();
      consumer = session.createConsumer(atestq);
      Assert.assertNull(consumer.receiveImmediate());

      session.close();
   }
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:78,代码来源:ScheduledMessageTest.java

示例11: testSendPacketsWithFailure

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
@Test
public void testSendPacketsWithFailure() throws Exception {
   final int nMsg = 100;
   final int stop = 37;
   setupServer(true, TestInterceptor.class.getName());

   manager = liveServer.getReplicationManager();
   waitForComponent(manager);
   ClientSessionFactory sf = createSessionFactory(locator);
   final ClientSession session = sf.createSession();
   final ClientSession session2 = sf.createSession();
   session.createQueue(ADDRESS, ADDRESS, null, true);

   final ClientProducer producer = session.createProducer(ADDRESS);

   session.start();
   session2.start();
   try {
      final ClientConsumer consumer = session2.createConsumer(ADDRESS);
      for (int i = 0; i < nMsg; i++) {

         ClientMessage message = session.createMessage(true);
         setBody(i, message);
         message.putIntProperty("counter", i);
         producer.send(message);
         if (i == stop) {
            // Now we start intercepting the communication with the backup
            TestInterceptor.value.set(false);
         }
         ClientMessage msgRcvd = consumer.receive(1000);
         Assert.assertNotNull("Message should exist!", msgRcvd);
         assertMessageBody(i, msgRcvd);
         Assert.assertEquals(i, msgRcvd.getIntProperty("counter").intValue());
         msgRcvd.acknowledge();
      }
   } finally {
      TestInterceptor.value.set(false);
      if (!session.isClosed())
         session.close();
      if (!session2.isClosed())
         session2.close();
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:44,代码来源:ReplicationTest.java

示例12: testRollbackWithReceive

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
@Test
public void testRollbackWithReceive() throws Exception {
   locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true);
   cf = createSessionFactory(locator);
   ClientSession sendSession = cf.createSession(false, true, true);
   ClientProducer cp = sendSession.createProducer(queueName);
   ClientSession clientSession = cf.createSession(false, true, false);
   clientSession.createQueue(queueName, queueName, false);
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   Queue q = (Queue) server.getPostOffice().getBinding(new SimpleString(queueName)).getBindable();
   Assert.assertEquals(10, getMessageCount(q));
   ClientConsumer cc = clientSession.createConsumer(queueName);
   clientSession.start();
   ClientMessage m = cc.receive(5000);
   Assert.assertNotNull(m);
   m.acknowledge();
   m = cc.receive(5000);
   Assert.assertNotNull(m);
   m.acknowledge();
   m = cc.receive(5000);
   Assert.assertNotNull(m);
   m.acknowledge();
   m = cc.receive(5000);
   Assert.assertNotNull(m);
   m.acknowledge();
   m = cc.receive(5000);
   Assert.assertNotNull(m);
   m.acknowledge();
   m = cc.receive(5000);
   Assert.assertNotNull(m);
   m.acknowledge();
   m = cc.receive(5000);
   Assert.assertNotNull(m);
   m.acknowledge();
   m = cc.receive(5000);
   Assert.assertNotNull(m);
   m.acknowledge();
   m = cc.receive(5000);
   Assert.assertNotNull(m);
   m.acknowledge();
   m = cc.receive(5000);
   Assert.assertNotNull(m);
   m.acknowledge();
   clientSession.rollback();
   Wait.waitFor(() -> getMessageCount(q) == 10);
   Assert.assertEquals(10, getMessageCount(q));
   clientSession.close();
   sendSession.close();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:59,代码来源:SessionTest.java

示例13: doTestStressSend

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
public void doTestStressSend(final boolean netty) throws Exception {
   ActiveMQServer server = createServer(false, netty);
   server.start();
   ServerLocator locator = createNonHALocator(netty);
   ClientSessionFactory sf = createSessionFactory(locator);

   ClientSession session = null;

   final int batchSize = 2000;

   final int numberOfMessages = 100000;

   try {
      server.start();

      session = sf.createSession(false, false);

      session.createQueue("address", RoutingType.MULTICAST, "queue");

      ClientProducer producer = session.createProducer("address");

      ClientMessage message = session.createMessage(false);

      message.getBodyBuffer().writeBytes(new byte[1024]);

      for (int i = 0; i < numberOfMessages; i++) {
         producer.send(message);
         if (i % batchSize == 0) {
            System.out.println("Sent " + i);
            session.commit();
         }
      }

      session.commit();

      session.close();

      session = sf.createSession(false, false);

      ClientConsumer consumer = session.createConsumer("queue");

      session.start();

      for (int i = 0; i < numberOfMessages; i++) {
         ClientMessage msg = consumer.receive(5000);
         Assert.assertNotNull(msg);
         msg.acknowledge();

         if (i % batchSize == 0) {
            System.out.println("Consumed " + i);
            session.commit();
         }
      }

      session.commit();
   } finally {
      if (session != null) {
         try {
            sf.close();
            session.close();
         } catch (Exception e) {
            e.printStackTrace();
         }
      }
      locator.close();
      server.stop();
   }

}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:70,代码来源:SendStressTest.java

示例14: testACKWithoutXID

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
@Test
public void testACKWithoutXID() throws Exception {
   // Since both resources have same RM, TM will probably use 1PC optimization

   ClientSessionFactory factory = createSessionFactory(locator);

   ClientSession session = addClientSession(factory.createSession(false, true, true));

   session.createQueue("Test", RoutingType.ANYCAST, "Test");

   ClientProducer prod = session.createProducer("Test");

   prod.send(session.createMessage(true));

   session.close();

   session = addClientSession(factory.createSession(true, false, false));

   session.start();

   ClientConsumer cons = session.createConsumer("Test");

   ClientMessage msg = cons.receive(5000);

   assertNotNull(msg);

   msg.acknowledge();

   session.close();

   session = addClientSession(factory.createSession(false, false, false));

   session.start();

   cons = session.createConsumer("Test");

   msg = cons.receiveImmediate();

   assertNull("Acknowledge went through invalid XA Session", msg);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:41,代码来源:BasicXaTest.java

示例15: testConsumerBrowserMessageAckDoesNothing

import org.apache.activemq.artemis.api.core.client.ClientConsumer; //导入方法依赖的package包/类
@Test
public void testConsumerBrowserMessageAckDoesNothing() throws Exception {
   ClientSessionFactory sf = createSessionFactory(locator);

   ClientSession session = sf.createSession(false, true, true);

   session.createQueue(QUEUE, QUEUE, null, false);

   ClientProducer producer = session.createProducer(QUEUE);

   final int numMessages = 100;

   for (int i = 0; i < numMessages; i++) {
      ClientMessage message = createTextMessage(session, "m" + i);
      producer.send(message);
   }

   ClientConsumer consumer = session.createConsumer(QUEUE, null, true);

   for (int i = 0; i < numMessages; i++) {
      ClientMessage message2 = consumer.receive(1000);

      message2.acknowledge();

      Assert.assertEquals("m" + i, message2.getBodyBuffer().readString());
   }
   // assert that all the messages are there and none have been acked
   Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(QUEUE).getBindable()).getDeliveringCount());
   Assert.assertEquals(100, getMessageCount(((Queue) server.getPostOffice().getBinding(QUEUE).getBindable())));

   session.close();

}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:34,代码来源:QueueBrowserTest.java


注:本文中的org.apache.activemq.artemis.api.core.client.ClientConsumer.receive方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。