org.apache.activemq.RedeliveryPolicy Java Examples
The following examples show how to use
org.apache.activemq.RedeliveryPolicy.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: RedeliveryPolicyTest.java From activemq-artemis with Apache License 2.0 | 6 votes |
@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); }
Example #2
Source File: BrokerRedeliveryTest.java From activemq-artemis with Apache License 2.0 | 6 votes |
private void startBroker(boolean deleteMessages) throws Exception { broker = new BrokerService(); broker.setSchedulerSupport(true); RedeliveryPlugin redeliveryPlugin = new RedeliveryPlugin(); RedeliveryPolicy brokerRedeliveryPolicy = new RedeliveryPolicy(); brokerRedeliveryPolicy.setRedeliveryDelay(redeliveryDelayMillis); brokerRedeliveryPolicy.setInitialRedeliveryDelay(initialRedeliveryDelayMillis); brokerRedeliveryPolicy.setMaximumRedeliveries(maxBrokerRedeliveries); RedeliveryPolicyMap redeliveryPolicyMap = new RedeliveryPolicyMap(); redeliveryPolicyMap.setDefaultEntry(brokerRedeliveryPolicy); redeliveryPlugin.setRedeliveryPolicyMap(redeliveryPolicyMap); broker.setPlugins(new BrokerPlugin[]{redeliveryPlugin}); if (deleteMessages) { broker.setDeleteAllMessagesOnStartup(true); } broker.start(); }
Example #3
Source File: NonBlockingConsumerRedeliveryTest.java From activemq-artemis with Apache License 2.0 | 6 votes |
@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); }
Example #4
Source File: ActiveMQAutoConfiguration.java From mykit-delay with Apache License 2.0 | 5 votes |
@Bean public RedeliveryPolicy activeMQRedeliveryPolicy(){ RedeliveryPolicy policy = new RedeliveryPolicy(); policy.setUseExponentialBackOff(properties.isUseExponentialBackOff()); policy.setMaximumRedeliveries(properties.getMaximumRedeliveries()); policy.setInitialRedeliveryDelay(properties.getInitialRedeliveryDelay()); policy.setBackOffMultiplier(properties.getBackOffMultiplier()); policy.setMaximumRedeliveryDelay(properties.getMaximumRedeliveryDelay()); return policy; }
Example #5
Source File: ConfigActiveMQConnectionFactory.java From onetwo with Apache License 2.0 | 5 votes |
@Override public void customize(ActiveMQConnectionFactory factory) { RedeliveryPolicyMap rpm = factory.getRedeliveryPolicyMap(); if(rpm!=null && rpm.getDefaultEntry()!=null){ RedeliveryPolicy def = rpm.getDefaultEntry(); CopyUtils.copy(def, activemqProperties.getRedelivery().getDefaultPolicy()); } }
Example #6
Source File: MessageListenerRedeliveryTest.java From activemq-artemis with Apache License 2.0 | 5 votes |
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; }
Example #7
Source File: MessageListenerDeadLetterTest.java From activemq-artemis with Apache License 2.0 | 5 votes |
@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; }
Example #8
Source File: DeadLetterTest.java From activemq-artemis with Apache License 2.0 | 5 votes |
@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; }
Example #9
Source File: NoRetryDeadLetterTest.java From activemq-artemis with Apache License 2.0 | 5 votes |
@Override protected ActiveMQConnectionFactory createConnectionFactory() throws Exception { ActiveMQConnectionFactory connectionFactory = super.createConnectionFactory(); RedeliveryPolicy redeliveryPolicy = new RedeliveryPolicy(); redeliveryPolicy.setMaximumRedeliveries(0); connectionFactory.setRedeliveryPolicy(redeliveryPolicy); return connectionFactory; }
Example #10
Source File: RollbacksWhileConsumingLargeQueueTest.java From activemq-artemis with Apache License 2.0 | 5 votes |
@Override protected ConnectionFactory createConnectionFactory() throws Exception { ActiveMQConnectionFactory answer = (ActiveMQConnectionFactory) super.createConnectionFactory(); RedeliveryPolicy policy = new RedeliveryPolicy(); policy.setMaximumRedeliveries(3); policy.setRedeliveryDelay(0); policy.setInitialRedeliveryDelay(0); policy.setUseExponentialBackOff(false); answer.setRedeliveryPolicy(policy); return answer; }
Example #11
Source File: AbstractVmJMSTest.java From cxf with Apache License 2.0 | 5 votes |
public static void startBusAndJMS(String brokerURI) { bus = BusFactory.getDefaultBus(); ActiveMQConnectionFactory cf1 = new ActiveMQConnectionFactory(brokerURI); RedeliveryPolicy redeliveryPolicy = new RedeliveryPolicy(); redeliveryPolicy.setMaximumRedeliveries(1); redeliveryPolicy.setInitialRedeliveryDelay(1000); cf1.setRedeliveryPolicy(redeliveryPolicy()); cf = new PooledConnectionFactory(cf1); cff = new ConnectionFactoryFeature(cf); }
Example #12
Source File: ActiveMQResourceAdapter.java From tomee with Apache License 2.0 | 5 votes |
private ActiveMQConnection getActiveMQConnection(MessageActivationSpec activationSpec, InvocationHandler invocationHandler) { if (AutoConnectionTracker.ConnectionInvocationHandler.class.isInstance(invocationHandler)) { final Object handle = Reflections.get(invocationHandler, "handle"); if (TomEEManagedConnectionProxy.class.isInstance(handle)) { final ActiveMQManagedConnection c = ActiveMQManagedConnection.class.cast(Reflections.get(handle, "connection")); final ActiveMQConnection physicalConnection = ActiveMQConnection.class.cast(Reflections.get(c, "physicalConnection")); final RedeliveryPolicy redeliveryPolicy = activationSpec.redeliveryPolicy(); if (redeliveryPolicy != null) { physicalConnection.setRedeliveryPolicy(redeliveryPolicy); } return physicalConnection; } } return null; }
Example #13
Source File: BrokerRedeliveryTest.java From activemq-artemis with Apache License 2.0 | 4 votes |
public void testInfiniteRedelivery() throws Exception { initialRedeliveryDelayMillis = redeliveryDelayMillis; maxBrokerRedeliveries = RedeliveryPolicy.NO_MAXIMUM_REDELIVERIES; doTestScheduledRedelivery(RedeliveryPolicy.DEFAULT_MAXIMUM_REDELIVERIES + 1, false); }
Example #14
Source File: BrokerRedeliveryTest.java From activemq-artemis with Apache License 2.0 | 4 votes |
public void doTestScheduledRedelivery(int maxBrokerRedeliveriesToValidate, boolean validateDLQ) throws Exception { startBroker(true); sendMessage(0); ActiveMQConnection consumerConnection = (ActiveMQConnection) createConnection(); RedeliveryPolicy redeliveryPolicy = new RedeliveryPolicy(); redeliveryPolicy.setInitialRedeliveryDelay(0); redeliveryPolicy.setMaximumRedeliveries(0); consumerConnection.setRedeliveryPolicy(redeliveryPolicy); consumerConnection.start(); Session consumerSession = consumerConnection.createSession(true, Session.SESSION_TRANSACTED); MessageConsumer consumer = consumerSession.createConsumer(destination); Message message = consumer.receive(1000); assertNotNull("got message", message); LOG.info("got: " + message); consumerSession.rollback(); for (int i = 0; i < maxBrokerRedeliveriesToValidate; i++) { Message shouldBeNull = consumer.receive(500); assertNull("did not get message after redelivery count exceeded: " + shouldBeNull, shouldBeNull); TimeUnit.SECONDS.sleep(3); Message brokerRedeliveryMessage = consumer.receive(500); LOG.info("got: " + brokerRedeliveryMessage); assertNotNull("got message via broker redelivery after delay", brokerRedeliveryMessage); assertEquals("message matches", message.getStringProperty("data"), brokerRedeliveryMessage.getStringProperty("data")); assertEquals("has expiryDelay specified", i == 0 ? initialRedeliveryDelayMillis : redeliveryDelayMillis, brokerRedeliveryMessage.getLongProperty(RedeliveryPlugin.REDELIVERY_DELAY)); consumerSession.rollback(); } if (validateDLQ) { MessageConsumer dlqConsumer = consumerSession.createConsumer(new ActiveMQQueue(SharedDeadLetterStrategy.DEFAULT_DEAD_LETTER_QUEUE_NAME)); Message dlqMessage = dlqConsumer.receive(2000); assertNotNull("Got message from dql", dlqMessage); assertEquals("message matches", message.getStringProperty("data"), dlqMessage.getStringProperty("data")); consumerSession.commit(); } else { // consume/commit ok message = consumer.receive(3000); assertNotNull("got message", message); assertEquals("redeliveries accounted for", maxBrokerRedeliveriesToValidate + 2, message.getLongProperty("JMSXDeliveryCount")); consumerSession.commit(); } consumerConnection.close(); }