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


Java ClientMessage.setExpiration方法代码示例

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


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

示例1: testBasicSendToNoQueue

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testBasicSendToNoQueue() throws Exception {
   SimpleString ea = new SimpleString("EA");
   SimpleString qName = new SimpleString("q1");
   SimpleString eq = new SimpleString("EQ1");
   SimpleString eq2 = new SimpleString("EQ2");
   clientSession.createQueue(ea, eq, null, false);
   clientSession.createQueue(ea, eq2, null, false);
   clientSession.createQueue(qName, qName, null, false);
   ClientProducer producer = clientSession.createProducer(qName);
   ClientMessage clientMessage = createTextMessage(clientSession, "heyho!");
   clientMessage.setExpiration(System.currentTimeMillis());
   producer.send(clientMessage);
   clientSession.start();
   ClientConsumer clientConsumer = clientSession.createConsumer(qName);
   ClientMessage m = clientConsumer.receiveImmediate();
   Assert.assertNull(m);

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

示例2: testMessageExpiredWithoutExpiryAddress

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

   session.createQueue(address, queue, false);

   ClientProducer producer = session.createProducer(address);
   ClientMessage message = session.createMessage(false);
   message.setExpiration(System.currentTimeMillis() + MessageExpirationTest.EXPIRATION);
   producer.send(message);

   Thread.sleep(MessageExpirationTest.EXPIRATION * 2);

   session.start();

   ClientConsumer consumer = session.createConsumer(queue);
   ClientMessage message2 = consumer.receiveImmediate();
   Assert.assertNull(message2);

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

示例3: testMessageExpirationOnClient

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

   session.createQueue(address, queue, false);

   ClientProducer producer = session.createProducer(address);
   ClientMessage message = session.createMessage(false);
   message.setExpiration(System.currentTimeMillis() + MessageExpirationTest.EXPIRATION);
   producer.send(message);

   session.start();

   Thread.sleep(MessageExpirationTest.EXPIRATION * 2);

   ClientConsumer consumer = session.createConsumer(queue);
   ClientMessage message2 = consumer.receiveImmediate();
   Assert.assertNull(message2);

   Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(queue).getBindable()).getDeliveringCount());
   Assert.assertEquals(0, getMessageCount(((Queue) server.getPostOffice().getBinding(queue).getBindable())));

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

示例4: testExpireFromMultipleQueues

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testExpireFromMultipleQueues() throws Exception {
   ClientProducer producer = clientSession.createProducer(qName);
   clientSession.createQueue(qName2, RoutingType.MULTICAST, qName2, null, false);
   AddressSettings addressSettings = new AddressSettings().setExpiryAddress(expiryAddress);
   server.getAddressSettingsRepository().addMatch(qName2.toString(), addressSettings);
   ClientProducer producer2 = clientSession.createProducer(qName2);
   int numMessages = 100;
   long expiration = System.currentTimeMillis();
   for (int i = 0; i < numMessages; i++) {
      ClientMessage m = createTextMessage(clientSession, "m" + i);
      m.setExpiration(expiration);
      producer.send(m);
      m = createTextMessage(clientSession, "m" + i);
      m.setExpiration(expiration);
      producer2.send(m);
   }
   Thread.sleep(1600);
   Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(qName).getBindable()).getMessageCount());
   Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(qName).getBindable()).getDeliveringCount());
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:22,代码来源:ExpiryRunnerTest.java

示例5: testExpireHalf

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testExpireHalf() throws Exception {
   ClientProducer producer = clientSession.createProducer(qName);
   int numMessages = 100;
   long expiration = System.currentTimeMillis();
   for (int i = 0; i < numMessages; i++) {
      ClientMessage m = createTextMessage(clientSession, "m" + i);
      if (i % 2 == 0) {
         m.setExpiration(expiration);
      }
      producer.send(m);
   }
   Thread.sleep(1600);
   Assert.assertEquals(numMessages / 2, ((Queue) server.getPostOffice().getBinding(qName).getBindable()).getMessageCount());
   Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(qName).getBindable()).getDeliveringCount());
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:17,代码来源:ExpiryRunnerTest.java

示例6: testExpireConsumeHalf

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testExpireConsumeHalf() throws Exception {
   ClientProducer producer = clientSession.createProducer(qName);
   int numMessages = 100;
   long expiration = System.currentTimeMillis() + 1000;
   for (int i = 0; i < numMessages; i++) {
      ClientMessage m = createTextMessage(clientSession, "m" + i);
      m.setExpiration(expiration);
      producer.send(m);
   }
   ClientConsumer consumer = clientSession.createConsumer(qName);
   clientSession.start();
   for (int i = 0; i < numMessages / 2; i++) {
      ClientMessage cm = consumer.receive(500);
      Assert.assertNotNull("message not received " + i, cm);
      cm.acknowledge();
      Assert.assertEquals("m" + i, cm.getBodyBuffer().readString());
   }
   consumer.close();
   Thread.sleep(2100);
   Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(qName).getBindable()).getMessageCount());
   Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(qName).getBindable()).getDeliveringCount());
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:24,代码来源:ExpiryRunnerTest.java

示例7: createActiveMQMessage

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
protected ClientMessage createActiveMQMessage(HttpHeaders headers,
                                              byte[] body,
                                              boolean durable,
                                              Long ttl,
                                              Long expiration,
                                              Integer priority,
                                              ClientSession session) throws Exception {
   ClientMessage message = session.createMessage(Message.BYTES_TYPE, durable);

   // HORNETQ-962
   UUID uid = UUIDGenerator.getInstance().generateUUID();
   message.setUserID(uid);

   if (expiration != null) {
      message.setExpiration(expiration.longValue());
   } else if (ttl != null) {
      message.setExpiration(System.currentTimeMillis() + ttl.longValue());
   } else if (producerTimeToLive > 0) {
      message.setExpiration(System.currentTimeMillis() + producerTimeToLive);
   }
   if (priority != null) {
      byte p = priority.byteValue();
      if (p >= 0 && p <= 9) {
         message.setPriority(p);
      }
   }
   HttpMessageHelper.writeHttpMessage(headers, body, message);
   return message;
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:30,代码来源:PostMessage.java

示例8: testBasicSend

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testBasicSend() throws Exception {
   SimpleString ea = new SimpleString("EA");
   SimpleString adSend = new SimpleString("a1");
   SimpleString qName = new SimpleString("q1");
   SimpleString eq = new SimpleString("EA1");
   AddressSettings addressSettings = new AddressSettings().setExpiryAddress(ea);
   server.getAddressSettingsRepository().addMatch("#", addressSettings);
   clientSession.createQueue(ea, eq, null, false);
   clientSession.createQueue(adSend, qName, null, false);

   ClientProducer producer = clientSession.createProducer(adSend);
   ClientMessage clientMessage = createTextMessage(clientSession, "heyho!");
   clientMessage.setExpiration(System.currentTimeMillis());
   producer.send(clientMessage);

   clientSession.start();
   ClientConsumer clientConsumer = clientSession.createConsumer(qName);
   ClientMessage m = clientConsumer.receiveImmediate();
   Assert.assertNull(m);
   m = clientConsumer.receiveImmediate();
   Assert.assertNull(m);
   clientConsumer.close();
   clientConsumer = clientSession.createConsumer(eq);
   m = clientConsumer.receive(500);
   Assert.assertNotNull(m);
   Assert.assertEquals(qName.toString(), m.getStringProperty(Message.HDR_ORIGINAL_QUEUE));
   Assert.assertEquals(adSend.toString(), m.getStringProperty(Message.HDR_ORIGINAL_ADDRESS));
   Assert.assertNotNull(m);
   Assert.assertEquals(m.getBodyBuffer().readString(), "heyho!");
   m.acknowledge();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:33,代码来源:ExpiryAddressTest.java

示例9: testExpireWithDefaultAddressSettings

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testExpireWithDefaultAddressSettings() throws Exception {
   SimpleString ea = new SimpleString("EA");
   SimpleString qName = new SimpleString("q1");
   SimpleString eq = new SimpleString("EA1");
   AddressSettings addressSettings = new AddressSettings().setExpiryAddress(ea);
   server.getAddressSettingsRepository().setDefault(addressSettings);
   clientSession.createQueue(ea, eq, null, false);
   clientSession.createQueue(qName, qName, null, false);

   ClientProducer producer = clientSession.createProducer(qName);
   ClientMessage clientMessage = createTextMessage(clientSession, "heyho!");
   clientMessage.setExpiration(System.currentTimeMillis());
   producer.send(clientMessage);

   clientSession.start();
   ClientConsumer clientConsumer = clientSession.createConsumer(qName);
   ClientMessage m = clientConsumer.receiveImmediate();
   Assert.assertNull(m);
   clientConsumer.close();

   clientConsumer = clientSession.createConsumer(eq);
   m = clientConsumer.receive(500);
   Assert.assertNotNull(m);
   Assert.assertEquals(m.getBodyBuffer().readString(), "heyho!");
   m.acknowledge();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:28,代码来源:ExpiryAddressTest.java

示例10: testExpireWithWildcardAddressSettings

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testExpireWithWildcardAddressSettings() throws Exception {
   SimpleString ea = new SimpleString("EA");
   SimpleString qName = new SimpleString("q1");
   SimpleString eq = new SimpleString("EA1");
   AddressSettings addressSettings = new AddressSettings().setExpiryAddress(ea);
   server.getAddressSettingsRepository().addMatch("*", addressSettings);
   clientSession.createQueue(ea, eq, null, false);
   clientSession.createQueue(qName, qName, null, false);

   ClientProducer producer = clientSession.createProducer(qName);
   ClientMessage clientMessage = createTextMessage(clientSession, "heyho!");
   clientMessage.setExpiration(System.currentTimeMillis());
   producer.send(clientMessage);

   clientSession.start();
   ClientConsumer clientConsumer = clientSession.createConsumer(qName);
   ClientMessage m = clientConsumer.receiveImmediate();
   Assert.assertNull(m);
   clientConsumer.close();

   clientConsumer = clientSession.createConsumer(eq);
   m = clientConsumer.receive(500);
   Assert.assertNotNull(m);
   Assert.assertEquals(m.getBodyBuffer().readString(), "heyho!");
   m.acknowledge();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:28,代码来源:ExpiryAddressTest.java

示例11: testExpireWithOverridenSublevelAddressSettings

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

   AddressSettings defaultAddressSettings = new AddressSettings().setExpiryAddress(defaultExpiryAddress);
   server.getAddressSettingsRepository().addMatch("prefix.*", defaultAddressSettings);
   AddressSettings specificAddressSettings = new AddressSettings().setExpiryAddress(specificExpiryAddress);
   server.getAddressSettingsRepository().addMatch("prefix.address", specificAddressSettings);

   clientSession.createQueue(address, queue, false);
   clientSession.createQueue(defaultExpiryAddress, defaultExpiryQueue, false);
   clientSession.createQueue(specificExpiryAddress, specificExpiryQueue, false);

   ClientProducer producer = clientSession.createProducer(address);
   ClientMessage clientMessage = createTextMessage(clientSession, "heyho!");
   clientMessage.setExpiration(System.currentTimeMillis());
   producer.send(clientMessage);

   clientSession.start();
   ClientConsumer clientConsumer = clientSession.createConsumer(queue);
   ClientMessage m = clientConsumer.receiveImmediate();
   Assert.assertNull(m);
   clientConsumer.close();

   clientConsumer = clientSession.createConsumer(defaultExpiryQueue);
   m = clientConsumer.receiveImmediate();
   Assert.assertNull(m);
   clientConsumer.close();

   clientConsumer = clientSession.createConsumer(specificExpiryQueue);
   m = clientConsumer.receive(500);
   Assert.assertNotNull(m);
   Assert.assertEquals(m.getBodyBuffer().readString(), "heyho!");
   m.acknowledge();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:41,代码来源:ExpiryAddressTest.java

示例12: testMessageExpirationOnServer

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

   session.createQueue(address, queue, false);

   ClientProducer producer = session.createProducer(address);
   ClientConsumer consumer = session.createConsumer(queue);
   ClientMessage message = session.createMessage(false);
   message.setExpiration(System.currentTimeMillis() + MessageExpirationTest.EXPIRATION);
   producer.send(message);

   Thread.sleep(MessageExpirationTest.EXPIRATION * 2);

   session.start();

   Thread.sleep(500);

   Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(queue).getBindable()).getDeliveringCount());
   Assert.assertEquals(0, getMessageCount(((Queue) server.getPostOffice().getBinding(queue).getBindable())));

   ClientMessage message2 = consumer.receiveImmediate();
   Assert.assertNull(message2);

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

示例13: testBasicExpire

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testBasicExpire() throws Exception {
   ClientProducer producer = clientSession.createProducer(qName);
   int numMessages = 100;
   long expiration = System.currentTimeMillis();
   for (int i = 0; i < numMessages; i++) {
      ClientMessage m = createTextMessage(clientSession, "m" + i);
      m.setExpiration(expiration);
      producer.send(m);
   }
   Thread.sleep(1600);
   Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(qName).getBindable()).getMessageCount());
   Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(qName).getBindable()).getDeliveringCount());
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:15,代码来源:ExpiryRunnerTest.java

示例14: testMessageAttributes

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

   ClientSession session = basicSetUp();

   session.createQueue(QUEUE_NAME, RoutingType.MULTICAST, QUEUE_NAME, true);

   ClientProducer producer = session.createProducer(QUEUE_NAME);

   ClientMessage msg = session.createMessage(Message.BYTES_TYPE, true);
   msg.setExpiration(Long.MAX_VALUE);
   msg.setPriority((byte) 0);
   msg.setTimestamp(Long.MAX_VALUE - 1);
   msg.setUserID(UUIDGenerator.getInstance().generateUUID());
   producer.send(msg);

   session.close();
   locator.close();
   server.stop();

   ByteArrayOutputStream xmlOutputStream = new ByteArrayOutputStream();
   XmlDataExporter xmlDataExporter = new XmlDataExporter();
   xmlDataExporter.process(xmlOutputStream, server.getConfiguration().getBindingsDirectory(), server.getConfiguration().getJournalDirectory(), server.getConfiguration().getPagingDirectory(), server.getConfiguration().getLargeMessagesDirectory());
   System.out.print(new String(xmlOutputStream.toByteArray()));

   clearDataRecreateServerDirs();
   server.start();
   checkForLongs();
   locator = createInVMNonHALocator();
   factory = createSessionFactory(locator);
   session = factory.createSession(false, true, true);

   ByteArrayInputStream xmlInputStream = new ByteArrayInputStream(xmlOutputStream.toByteArray());
   XmlDataImporter xmlDataImporter = new XmlDataImporter();
   xmlDataImporter.validate(xmlInputStream);
   xmlInputStream.reset();
   xmlDataImporter.process(xmlInputStream, session);
   ClientConsumer consumer = session.createConsumer(QUEUE_NAME);
   session.start();

   msg = consumer.receive(CONSUMER_TIMEOUT);
   assertEquals(Long.MAX_VALUE, msg.getExpiration());
   assertEquals((byte) 0, msg.getPriority());
   assertEquals(Long.MAX_VALUE - 1, msg.getTimestamp());
   assertNotNull(msg.getUserID());
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:47,代码来源:XmlImportExportTest.java

示例15: testBasicSendWithRetroActiveAddressSettings

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testBasicSendWithRetroActiveAddressSettings() throws Exception {
   // apply "original" address settings
   SimpleString expiryAddress1 = new SimpleString("expiryAddress1");
   SimpleString qName = new SimpleString("q1");
   SimpleString expiryQueue1 = new SimpleString("expiryQueue1");
   AddressSettings addressSettings = new AddressSettings().setExpiryAddress(expiryAddress1);
   server.getAddressSettingsRepository().addMatch(qName.toString(), addressSettings);
   clientSession.createQueue(expiryAddress1, expiryQueue1, null, false);
   clientSession.createQueue(qName, qName, null, false);

   // override "original" address settings
   SimpleString expiryAddress2 = new SimpleString("expiryAddress2");
   SimpleString expiryQueue2 = new SimpleString("expiryQueue2");
   addressSettings = new AddressSettings().setExpiryAddress(expiryAddress2);
   server.getAddressSettingsRepository().addMatch(qName.toString(), addressSettings);
   clientSession.createQueue(expiryAddress2, expiryQueue2, null, false);

   // send message that will expire ASAP
   ClientProducer producer = clientSession.createProducer(qName);
   ClientMessage clientMessage = createTextMessage(clientSession, "heyho!");
   clientMessage.setExpiration(System.currentTimeMillis());
   producer.send(clientMessage);

   clientSession.start();

   // make sure the message has expired from the original queue
   ClientConsumer clientConsumer = clientSession.createConsumer(qName);
   ClientMessage m = clientConsumer.receiveImmediate();
   Assert.assertNull(m);
   m = clientConsumer.receiveImmediate();
   Assert.assertNull(m);
   clientConsumer.close();

   // make sure the message wasn't sent to the original expiry address
   clientConsumer = clientSession.createConsumer(expiryQueue1);
   m = clientConsumer.receiveImmediate();
   Assert.assertNull(m);
   m = clientConsumer.receiveImmediate();
   Assert.assertNull(m);
   clientConsumer.close();

   // make sure the message was sent to the expected expected expiry address
   clientConsumer = clientSession.createConsumer(expiryQueue2);
   m = clientConsumer.receive(500);
   Assert.assertNotNull(m);
   Assert.assertEquals(m.getBodyBuffer().readString(), "heyho!");
   m.acknowledge();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:50,代码来源:ExpiryAddressTest.java


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