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


Java ClientMessage.putLongProperty方法代码示例

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


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

示例1: run

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Override
public void run() {
   super.run();
   while (running) {
      try {
         beginTX();
         for (int i = 0; i < 1000; i++) {
            ClientMessage msg = session.createMessage(true);
            msg.putLongProperty("count", pendingMsgs + msgs);
            msg.getBodyBuffer().writeBytes(new byte[10 * 1024]);
            producer.send(msg);
            pendingMsgs++;
         }
         endTX();
      } catch (Exception e) {
         connect();
      }
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:20,代码来源:Sender.java

示例2: testRequest

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testRequest() throws Exception {
   final SimpleString key = RandomUtil.randomSimpleString();
   long value = RandomUtil.randomLong();
   SimpleString requestAddress = new SimpleString("AdTest");
   SimpleString requestQueue = RandomUtil.randomSimpleString();

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

   session.start();

   session.createTemporaryQueue(requestAddress, requestQueue);

   ClientConsumer requestConsumer = session.createConsumer(requestQueue);
   requestConsumer.setMessageHandler(new SimpleMessageHandler(key, session));

   ClientRequestor requestor = new ClientRequestor(session, requestAddress);
   ClientMessage request = session.createMessage(false);
   request.putLongProperty(key, value);

   ClientMessage reply = requestor.request(request, 500);
   Assert.assertNotNull("reply was not received", reply);
   Assert.assertEquals(value, reply.getObjectProperty(key));

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

示例3: testTwoRequests

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testTwoRequests() throws Exception {
   final SimpleString key = RandomUtil.randomSimpleString();
   long value = RandomUtil.randomLong();
   SimpleString requestAddress = RandomUtil.randomSimpleString();
   SimpleString requestQueue = RandomUtil.randomSimpleString();

   ClientSessionFactory sf = createSessionFactory(locator);
   final ClientSession session = sf.createSession(false, true, true);

   session.start();

   session.createTemporaryQueue(requestAddress, requestQueue);

   ClientConsumer requestConsumer = session.createConsumer(requestQueue);
   requestConsumer.setMessageHandler(new SimpleMessageHandler(key, session));

   ClientRequestor requestor = new ClientRequestor(session, requestAddress);
   ClientMessage request = session.createMessage(false);
   request.putLongProperty(key, value);

   ClientMessage reply = requestor.request(request, 500);
   Assert.assertNotNull("reply was not received", reply);
   Assert.assertEquals(value, reply.getObjectProperty(key));

   request = session.createMessage(false);
   request.putLongProperty(key, value + 1);

   reply = requestor.request(request, 500);
   Assert.assertNotNull("reply was not received", reply);
   Assert.assertEquals(value + 1, reply.getObjectProperty(key));

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

示例4: testGetScheduledCount

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testGetScheduledCount() throws Exception {
   long delay = 500;
   SimpleString address = RandomUtil.randomSimpleString();
   SimpleString queue = RandomUtil.randomSimpleString();

   session.createQueue(address, queue, null, false);

   QueueControl queueControl = createManagementControl(address, queue);
   Assert.assertEquals(0, queueControl.getScheduledCount());

   ClientProducer producer = session.createProducer(address);
   ClientMessage message = session.createMessage(false);
   message.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, System.currentTimeMillis() + delay);
   producer.send(message);

   long timeout = System.currentTimeMillis() + 5000;
   while (timeout > System.currentTimeMillis() && queueControl.getScheduledCount() != 1) {
      Thread.sleep(100);
   }

   Assert.assertEquals(1, queueControl.getScheduledCount());
   consumeMessages(0, session, queue);

   Thread.sleep(delay * 2);

   Assert.assertEquals(0, queueControl.getScheduledCount());
   consumeMessages(1, session, queue);

   session.deleteQueue(queue);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:32,代码来源:QueueControlTest.java

示例5: testListScheduledMessages

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testListScheduledMessages() throws Exception {
   long delay = 2000;
   SimpleString address = RandomUtil.randomSimpleString();
   SimpleString queue = RandomUtil.randomSimpleString();
   int intValue = RandomUtil.randomInt();
   session.createQueue(address, queue, null, false);

   QueueControl queueControl = createManagementControl(address, queue);

   ClientProducer producer = session.createProducer(address);
   ClientMessage message = session.createMessage(false);
   message.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, System.currentTimeMillis() + delay);
   message.putIntProperty(new SimpleString("key"), intValue);
   producer.send(message);
   // unscheduled message
   producer.send(session.createMessage(false));

   Map<String, Object>[] messages = queueControl.listScheduledMessages();
   Assert.assertEquals(1, messages.length);
   Assert.assertEquals(intValue, Integer.parseInt((messages[0].get("key")).toString()));

   Thread.sleep(delay + 500);

   messages = queueControl.listScheduledMessages();
   Assert.assertEquals(0, messages.length);

   consumeMessages(2, session, queue);

   session.deleteQueue(queue);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:32,代码来源:QueueControlTest.java

示例6: testListMessagesWithFilter

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testListMessagesWithFilter() throws Exception {
   SimpleString key = new SimpleString("key");
   long matchingValue = RandomUtil.randomLong();
   long unmatchingValue = matchingValue + 1;
   String filter = key + " =" + matchingValue;

   SimpleString address = RandomUtil.randomSimpleString();
   SimpleString queue = RandomUtil.randomSimpleString();

   session.createQueue(address, queue, null, false);
   QueueControl queueControl = createManagementControl(address, queue);

   ClientProducer producer = session.createProducer(address);
   ClientMessage matchingMessage = session.createMessage(false);
   matchingMessage.putLongProperty(key, matchingValue);
   producer.send(matchingMessage);
   ClientMessage unmatchingMessage = session.createMessage(false);
   unmatchingMessage.putLongProperty(key, unmatchingValue);
   producer.send(unmatchingMessage);

   Map<String, Object>[] messages = queueControl.listMessages(filter);
   Assert.assertEquals(1, messages.length);
   Assert.assertEquals(matchingValue, Long.parseLong(messages[0].get("key").toString()));

   consumeMessages(2, session, queue);

   messages = queueControl.listMessages(filter);
   Assert.assertEquals(0, messages.length);

   session.deleteQueue(queue);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:33,代码来源:QueueControlTest.java

示例7: testClose

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testClose() throws Exception {
   final SimpleString key = RandomUtil.randomSimpleString();
   long value = RandomUtil.randomLong();
   SimpleString requestAddress = RandomUtil.randomSimpleString();
   SimpleString requestQueue = RandomUtil.randomSimpleString();

   ClientSessionFactory sf = createSessionFactory(locator);
   final ClientSession session = sf.createSession(false, true, true);

   session.start();

   session.createTemporaryQueue(requestAddress, requestQueue);

   ClientConsumer requestConsumer = session.createConsumer(requestQueue);
   requestConsumer.setMessageHandler(new SimpleMessageHandler(key, session));

   final ClientRequestor requestor = new ClientRequestor(session, requestAddress);
   ClientMessage request = session.createMessage(false);
   request.putLongProperty(key, value);

   ClientMessage reply = requestor.request(request, 500);
   Assert.assertNotNull("reply was not received", reply);
   Assert.assertEquals(value, reply.getObjectProperty(key));

   request = session.createMessage(false);
   request.putLongProperty(key, value + 1);

   requestor.close();

   ActiveMQAction activeMQAction = new ActiveMQAction() {
      @Override
      public void run() throws Exception {
         requestor.request(session.createMessage(false), 500);
      }
   };

   ActiveMQTestBase.expectActiveMQException("can not send a request on a closed ClientRequestor", ActiveMQExceptionType.OBJECT_CLOSED, activeMQAction);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:40,代码来源:RequestorTest.java

示例8: testMoveMessagesToUnknownQueue

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testMoveMessagesToUnknownQueue() throws Exception {
   SimpleString address = RandomUtil.randomSimpleString();
   SimpleString queue = RandomUtil.randomSimpleString();
   SimpleString unknownQueue = RandomUtil.randomSimpleString();

   session.createQueue(address, queue, null, false);
   ClientProducer producer = session.createProducer(address);

   // send on queue
   ClientMessage message = session.createMessage(false);
   SimpleString key = RandomUtil.randomSimpleString();
   long value = RandomUtil.randomLong();
   message.putLongProperty(key, value);
   producer.send(message);

   QueueControl queueControl = createManagementControl(address, queue);
   Assert.assertEquals(1, getMessageCount(queueControl));

   // moved all messages to unknown queue
   try {
      queueControl.moveMessages(null, unknownQueue.toString());
      Assert.fail("operation must fail if the other queue does not exist");
   } catch (Exception e) {
   }
   Assert.assertEquals(1, getMessageCount(queueControl));

   consumeMessages(1, session, queue);

   session.deleteQueue(queue);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:32,代码来源:QueueControlTest.java

示例9: onMessage

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Override
public void onMessage(final ClientMessage request) {
   try {
      ClientMessage reply = session.createMessage(false);
      SimpleString replyTo = (SimpleString) request.getObjectProperty(ClientMessageImpl.REPLYTO_HEADER_NAME);
      long value = (Long) request.getObjectProperty(key);
      reply.putLongProperty(key, value);
      ClientProducer replyProducer = session.createProducer(replyTo);
      replyProducer.send(reply);
      request.acknowledge();
   } catch (ActiveMQException e) {
      e.printStackTrace();
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:15,代码来源:RequestorTest.java

示例10: testRemoveScheduledMessage

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testRemoveScheduledMessage() throws Exception {
   SimpleString address = RandomUtil.randomSimpleString();
   SimpleString queue = RandomUtil.randomSimpleString();

   session.createQueue(address, queue, null, false);
   ClientProducer producer = session.createProducer(address);

   // send 2 messages on queue, both scheduled
   long timeout = System.currentTimeMillis() + 5000;
   ClientMessage m1 = session.createMessage(true);
   m1.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, timeout);
   producer.send(m1);
   ClientMessage m2 = session.createMessage(true);
   m2.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, timeout);
   producer.send(m2);

   QueueControl queueControl = createManagementControl(address, queue);
   Assert.assertEquals(2, queueControl.getScheduledCount());

   // the message IDs are set on the server
   Map<String, Object>[] messages = queueControl.listScheduledMessages();
   Assert.assertEquals(2, messages.length);
   long messageID = (Long) messages[0].get("messageID");

   // delete 1st message
   boolean deleted = queueControl.removeMessage(messageID);
   Assert.assertTrue(deleted);
   Assert.assertEquals(1, queueControl.getScheduledCount());

   // check there is a single message to consume from queue
   while (timeout > System.currentTimeMillis() && queueControl.getScheduledCount() == 1) {
      Thread.sleep(100);
   }

   consumeMessages(1, session, queue);

   session.deleteQueue(queue);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:40,代码来源:QueueControlTest.java

示例11: testCountMessagesWithFilter

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testCountMessagesWithFilter() throws Exception {
   SimpleString key = new SimpleString("key");
   long matchingValue = RandomUtil.randomLong();
   long unmatchingValue = matchingValue + 1;

   SimpleString address = RandomUtil.randomSimpleString();
   SimpleString queue = RandomUtil.randomSimpleString();

   session.createQueue(address, queue, null, false);
   ClientProducer producer = session.createProducer(address);

   // send on queue
   ClientMessage matchingMessage = session.createMessage(false);
   matchingMessage.putLongProperty(key, matchingValue);
   ClientMessage unmatchingMessage = session.createMessage(false);
   unmatchingMessage.putLongProperty(key, unmatchingValue);
   producer.send(matchingMessage);
   producer.send(unmatchingMessage);
   producer.send(matchingMessage);

   QueueControl queueControl = createManagementControl(address, queue);
   Assert.assertEquals(3, getMessageCount(queueControl));

   Assert.assertEquals(2, queueControl.countMessages(key + " =" + matchingValue));
   Assert.assertEquals(1, queueControl.countMessages(key + " =" + unmatchingValue));

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

示例12: testManyRequestsOverBlocked

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testManyRequestsOverBlocked() throws Exception {
   final SimpleString key = RandomUtil.randomSimpleString();
   long value = RandomUtil.randomLong();

   AddressSettings settings = new AddressSettings().setAddressFullMessagePolicy(AddressFullMessagePolicy.BLOCK).setMaxSizeBytes(1024);
   server.getAddressSettingsRepository().addMatch("#", settings);

   SimpleString requestAddress = new SimpleString("RequestAddress");

   SimpleString requestQueue = new SimpleString("RequestAddress Queue");

   final ClientSession sessionRequest = sf.createSession(false, true, true);

   sessionRequest.createQueue(requestAddress, requestQueue);

   sessionRequest.start();

   ClientConsumer requestConsumer = sessionRequest.createConsumer(requestQueue);
   requestConsumer.setMessageHandler(new SimpleMessageHandler(key, sessionRequest));

   for (int i = 0; i < 2000; i++) {
      if (i % 100 == 0) {
         System.out.println(i);
      }
      final ClientSession session = sf.createSession(false, true, true);

      session.start();

      ClientRequestor requestor = new ClientRequestor(session, requestAddress);
      ClientMessage request = session.createMessage(false);
      request.putLongProperty(key, value);

      ClientMessage reply = requestor.request(request, 5000);
      Assert.assertNotNull("reply was not received", reply);
      reply.acknowledge();
      Assert.assertEquals(value, reply.getObjectProperty(key));
      requestor.close();
      session.close();
   }

   sessionRequest.close();

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

示例13: testScheduledMessagesDeliveredCorrectly

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的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

示例14: testScheduledMessagesDeliveredCorrectlyDifferentOrder

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
public void testScheduledMessagesDeliveredCorrectlyDifferentOrder(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 += 3000;
      m2.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m2);
      time -= 2000;
      m3.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m3);
      time += 3000;
      m4.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m4);
      time -= 2000;
      m5.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m5);
      time -= 2000;
      ClientConsumer consumer = null;
      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);

      }
      consumer = session.createConsumer(atestq);

      session.start();

      ClientMessage message = consumer.receive(10250);
      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("m3", message.getBodyBuffer().readString());
      message.acknowledge();
      time += 1000;
      message = consumer.receive(1250);
      Assert.assertTrue(System.currentTimeMillis() >= time);
      Assert.assertEquals("m5", 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("m4", 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,代码行数:79,代码来源:ScheduledMessageTest.java

示例15: testScheduledAndNormalMessagesDeliveredCorrectly

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
public void testScheduledAndNormalMessagesDeliveredCorrectly(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);
      producer.send(m2);
      time += 1000;
      m3.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m3);
      producer.send(m4);
      time += 1000;
      m5.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m5);
      time -= 2000;
      ClientConsumer consumer = null;
      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);
      }

      consumer = session.createConsumer(atestq);
      session.start();

      ClientMessage message = consumer.receive(1000);
      Assert.assertEquals("m2", message.getBodyBuffer().readString());
      message.acknowledge();
      message = consumer.receive(1000);
      Assert.assertEquals("m4", message.getBodyBuffer().readString());
      message.acknowledge();
      message = consumer.receive(10250);
      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("m3", 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,代码行数:70,代码来源:ScheduledMessageTest.java


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