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


Java RedeliveryPolicy.setBackOffMultiplier方法代码示例

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


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

示例1: testGetNext

import org.apache.activemq.RedeliveryPolicy; //导入方法依赖的package包/类
@Test
public void testGetNext() throws Exception {

   RedeliveryPolicy policy = new RedeliveryPolicy();
   policy.setInitialRedeliveryDelay(0);
   policy.setRedeliveryDelay(500);
   policy.setBackOffMultiplier((short) 2);
   policy.setUseExponentialBackOff(true);

   long delay = policy.getNextRedeliveryDelay(0);
   assertEquals(500, delay);
   delay = policy.getNextRedeliveryDelay(delay);
   assertEquals(500 * 2, delay);
   delay = policy.getNextRedeliveryDelay(delay);
   assertEquals(500 * 4, delay);

   policy.setUseExponentialBackOff(false);
   delay = policy.getNextRedeliveryDelay(delay);
   assertEquals(500, delay);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:21,代码来源:RedeliveryPolicyTest.java

示例2: startBroker

import org.apache.activemq.RedeliveryPolicy; //导入方法依赖的package包/类
@Before
public void startBroker() throws Exception {
   broker = new BrokerService();
   broker.setDeleteAllMessagesOnStartup(true);
   broker.setPersistent(false);
   broker.setUseJmx(false);
   broker.addConnector("tcp://0.0.0.0:0");
   broker.start();
   broker.waitUntilStarted();

   connectionUri = broker.getTransportConnectors().get(0).getPublishableConnectString();
   connectionFactory = new ActiveMQConnectionFactory(connectionUri);
   connectionFactory.setNonBlockingRedelivery(true);

   RedeliveryPolicy policy = connectionFactory.getRedeliveryPolicy();
   policy.setInitialRedeliveryDelay(TimeUnit.SECONDS.toMillis(2));
   policy.setBackOffMultiplier(-1);
   policy.setRedeliveryDelay(TimeUnit.SECONDS.toMillis(2));
   policy.setMaximumRedeliveryDelay(-1);
   policy.setUseExponentialBackOff(false);
   policy.setMaximumRedeliveries(-1);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:23,代码来源:NonBlockingConsumerRedeliveryTest.java

示例3: getRedeliveryPolicy

import org.apache.activemq.RedeliveryPolicy; //导入方法依赖的package包/类
protected RedeliveryPolicy getRedeliveryPolicy() {
   RedeliveryPolicy redeliveryPolicy = new RedeliveryPolicy();
   redeliveryPolicy.setInitialRedeliveryDelay(0);
   redeliveryPolicy.setRedeliveryDelay(1000);
   redeliveryPolicy.setMaximumRedeliveries(3);
   redeliveryPolicy.setBackOffMultiplier((short) 2);
   redeliveryPolicy.setUseExponentialBackOff(true);
   return redeliveryPolicy;
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:10,代码来源:MessageListenerRedeliveryTest.java

示例4: createConnectionFactory

import org.apache.activemq.RedeliveryPolicy; //导入方法依赖的package包/类
@Override
protected ActiveMQConnectionFactory createConnectionFactory() throws Exception {
   ActiveMQConnectionFactory answer = super.createConnectionFactory();
   RedeliveryPolicy policy = new RedeliveryPolicy();
   policy.setMaximumRedeliveries(3);
   policy.setBackOffMultiplier((short) 1);
   policy.setRedeliveryDelay(0);
   policy.setInitialRedeliveryDelay(0);
   policy.setUseExponentialBackOff(false);
   answer.setRedeliveryPolicy(policy);
   return answer;
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:13,代码来源:MessageListenerDeadLetterTest.java

示例5: createConnectionFactory

import org.apache.activemq.RedeliveryPolicy; //导入方法依赖的package包/类
@Override
protected ActiveMQConnectionFactory createConnectionFactory() throws Exception {
   ActiveMQConnectionFactory answer = super.createConnectionFactory();
   RedeliveryPolicy policy = new RedeliveryPolicy();
   policy.setMaximumRedeliveries(3);
   policy.setBackOffMultiplier((short) 1);
   policy.setInitialRedeliveryDelay(10);
   policy.setUseExponentialBackOff(false);
   answer.setRedeliveryPolicy(policy);
   return answer;
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:12,代码来源:DeadLetterTest.java

示例6: testExponentialRedeliveryPolicyDelaysDeliveryOnRollback

import org.apache.activemq.RedeliveryPolicy; //导入方法依赖的package包/类
/**
 * @throws Exception
 */
@Test
public void testExponentialRedeliveryPolicyDelaysDeliveryOnRollback() throws Exception {

   // Receive a message with the JMS API
   RedeliveryPolicy policy = connection.getRedeliveryPolicy();
   policy.setInitialRedeliveryDelay(0);
   policy.setRedeliveryDelay(500);
   policy.setBackOffMultiplier((short) 2);
   policy.setUseExponentialBackOff(true);

   connection.start();
   Session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
   ActiveMQQueue destination = new ActiveMQQueue("testExponentialRedeliveryPolicyDelaysDeliveryOnRollback");
   this.makeSureCoreQueueExist("testExponentialRedeliveryPolicyDelaysDeliveryOnRollback");
   MessageProducer producer = session.createProducer(destination);

   MessageConsumer consumer = session.createConsumer(destination);

   // Send the messages
   producer.send(session.createTextMessage("1st"));
   producer.send(session.createTextMessage("2nd"));
   session.commit();

   TextMessage m;
   m = (TextMessage) consumer.receive(1000);
   assertNotNull(m);
   assertEquals("1st", m.getText());
   session.rollback();

   // No delay on first rollback..
   m = (TextMessage) consumer.receive(100);
   assertNotNull(m);
   session.rollback();

   // Show subsequent re-delivery delay is incrementing.
   m = (TextMessage) consumer.receive(100);
   assertNull(m);

   m = (TextMessage) consumer.receive(700);
   assertNotNull(m);
   assertEquals("1st", m.getText());
   session.rollback();

   // Show re-delivery delay is incrementing exponentially
   m = (TextMessage) consumer.receive(100);
   assertNull(m);
   m = (TextMessage) consumer.receive(500);
   assertNull(m);
   m = (TextMessage) consumer.receive(700);
   assertNotNull(m);
   assertEquals("1st", m.getText());

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

示例7: testMaximumRedeliveryDelay

import org.apache.activemq.RedeliveryPolicy; //导入方法依赖的package包/类
/**
 * @throws Exception
 */
@Test
public void testMaximumRedeliveryDelay() throws Exception {

   // Receive a message with the JMS API
   RedeliveryPolicy policy = connection.getRedeliveryPolicy();
   policy.setInitialRedeliveryDelay(10);
   policy.setUseExponentialBackOff(true);
   policy.setMaximumRedeliveries(-1);
   policy.setRedeliveryDelay(50);
   policy.setMaximumRedeliveryDelay(1000);
   policy.setBackOffMultiplier((short) 2);
   policy.setUseExponentialBackOff(true);

   connection.start();
   Session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
   ActiveMQQueue destination = new ActiveMQQueue("TEST");
   this.makeSureCoreQueueExist("TEST");
   MessageProducer producer = session.createProducer(destination);

   MessageConsumer consumer = session.createConsumer(destination);

   // Send the messages
   producer.send(session.createTextMessage("1st"));
   producer.send(session.createTextMessage("2nd"));
   session.commit();

   TextMessage m;

   for (int i = 0; i < 10; ++i) {
      // we should be able to get the 1st message redelivered until a
      // session.commit is called
      m = (TextMessage) consumer.receive(2000);
      assertNotNull(m);
      assertEquals("1st", m.getText());
      session.rollback();
   }

   m = (TextMessage) consumer.receive(2000);
   assertNotNull(m);
   assertEquals("1st", m.getText());
   session.commit();

   m = (TextMessage) consumer.receive(2000);
   assertNotNull(m);
   assertEquals("2nd", m.getText());
   session.commit();

   assertTrue(policy.getNextRedeliveryDelay(Long.MAX_VALUE) == 1000);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:53,代码来源:RedeliveryPolicyTest.java


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