@Override public void destroy() { this.listenerContainer.destroy(); }
@Override protected void doStart() { this.listenerContainer.start(); }
@Override protected void doStop() { this.listenerContainer.stop(); }
@Override protected void onInit() { super.onInit(); this.listenerContainer = this.simpleMessageListenerContainerFactory.createSimpleMessageListenerContainer(); if (this.queueStopTimeout != null) { this.listenerContainer.setQueueStopTimeout(this.queueStopTimeout); } this.listenerContainer.setMessageHandler(new IntegrationQueueMessageHandler()); try { this.listenerContainer.afterPropertiesSet(); } catch (Exception e) { throw new BeanCreationException("Cannot instantiate 'SimpleMessageListenerContainer'", e); } }
/** * Stops and waits until the specified queue has stopped. If the wait timeout specified by {@link SimpleMessageListenerContainer#getQueueStopTimeout()} * is reached, the current thread is interrupted. * * @param logicalQueueName * the name as defined on the listener method */ public void stop(String logicalQueueName) { stopQueue(logicalQueueName); try { if (isRunning(logicalQueueName)) { Future<?> future = this.scheduledFutureByQueue.remove(logicalQueueName); if (future != null) { future.get(this.queueStopTimeout, TimeUnit.MILLISECONDS); } } } catch (InterruptedException e) { Thread.currentThread().interrupt(); } catch (ExecutionException | TimeoutException e) { getLogger().warn("Error stopping queue with name: '" + logicalQueueName + "'", e); } }
@ManagedOperation public boolean isRunning(String logicalQueueName) { return this.listenerContainer.isRunning(logicalQueueName); }
@Bean public SimpleMessageListenerContainer simpleMessageListenerContainer(AmazonSQSAsync amazonSqs) { if (this.simpleMessageListenerContainerFactory.getAmazonSqs() == null) { this.simpleMessageListenerContainerFactory.setAmazonSqs(amazonSqs); } if (this.simpleMessageListenerContainerFactory.getResourceIdResolver() == null) { this.simpleMessageListenerContainerFactory.setResourceIdResolver(this.resourceIdResolver); } SimpleMessageListenerContainer simpleMessageListenerContainer = this.simpleMessageListenerContainerFactory.createSimpleMessageListenerContainer(); simpleMessageListenerContainer.setMessageHandler(queueMessageHandler(amazonSqs)); return simpleMessageListenerContainer; }
@Override protected void onInit() { super.onInit(); this.listenerContainer = this.simpleMessageListenerContainerFactory.createSimpleMessageListenerContainer(); if (this.queueStopTimeout != null) { this.listenerContainer.setQueueStopTimeout(this.queueStopTimeout); } this.listenerContainer.setMessageHandler(new IntegrationQueueMessageHandler()); try { this.listenerContainer.afterPropertiesSet(); } catch (Exception e) { throw new BeanCreationException("Cannot instantiate 'SimpleMessageListenerContainer'", e); } }
/** * Stops and waits until the specified queue has stopped. If the wait timeout specified by {@link SimpleMessageListenerContainer#getQueueStopTimeout()} * is reached, the current thread is interrupted. * * @param logicalQueueName * the name as defined on the listener method */ public void stop(String logicalQueueName) { stopQueue(logicalQueueName); try { if (isRunning(logicalQueueName)) { Future<?> future = this.scheduledFutureByQueue.remove(logicalQueueName); if (future != null) { future.get(this.queueStopTimeout, TimeUnit.MILLISECONDS); } } } catch (InterruptedException e) { Thread.currentThread().interrupt(); } catch (ExecutionException | TimeoutException e) { getLogger().warn("Error stopping queue with name: '" + logicalQueueName + "'", e); } }
@ManagedOperation public boolean isRunning(String logicalQueueName) { return this.listenerContainer.isRunning(logicalQueueName); }
@Bean public SimpleMessageListenerContainer simpleMessageListenerContainer(AmazonSQSAsync amazonSqs) { if (this.simpleMessageListenerContainerFactory.getAmazonSqs() == null) { this.simpleMessageListenerContainerFactory.setAmazonSqs(amazonSqs); } if (this.simpleMessageListenerContainerFactory.getResourceIdResolver() == null) { this.simpleMessageListenerContainerFactory.setResourceIdResolver(this.resourceIdResolver); } SimpleMessageListenerContainer simpleMessageListenerContainer = this.simpleMessageListenerContainerFactory.createSimpleMessageListenerContainer(); simpleMessageListenerContainer.setMessageHandler(queueMessageHandler(amazonSqs)); return simpleMessageListenerContainer; }
assertThat(TestUtils.getPropertyValue(listenerContainer, "destinationResolver")) .isSameAs(this.destinationResolver); assertThat(listenerContainer.isRunning()).isFalse(); assertThat(TestUtils.getPropertyValue(listenerContainer, "maxNumberOfMessages")).isEqualTo(5); assertThat(TestUtils.getPropertyValue(listenerContainer, "visibilityTimeout")).isEqualTo(200);
@Override protected void doStop() { this.listenerContainer.stop(); }
@Override protected void doStart() { this.listenerContainer.start(); }
@Override public void destroy() { this.listenerContainer.destroy(); }
@ManagedOperation public void stop(String logicalQueueName) { this.listenerContainer.stop(logicalQueueName); }
@ManagedOperation public void start(String logicalQueueName) { this.listenerContainer.start(logicalQueueName); }
@ManagedOperation public void stop(String logicalQueueName) { this.listenerContainer.stop(logicalQueueName); }
@ManagedOperation public void start(String logicalQueueName) { this.listenerContainer.start(logicalQueueName); }