Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @PostConstruct
- public void createQueues() {
- createAndBindQueuesToFanoutExchangeAndDeadLetter(EMAIL_UPDATED_EXCHANGE, MAILCHIMP_EMAIL_UPDATED_QUEUE);
- }
- private void createAndBindQueuesToFanoutExchangeAndDeadLetter(String exchangeName, String... queueNames) {
- FanoutExchange exchangeBean = createExchangeBean(exchangeName);
- for (String queueName : queueNames) {
- Queue queue = queueWithDelayedRetry(queueName);
- Binding bindingToExchange = BindingBuilder.bind(queue).to(exchangeBean);
- Binding bindingToDeadLetter = BindingBuilder.bind(queue).to(backFromTheDeadExchange()).with(queueName);
- String beanPrefix = queueName.replace(".", "").replace("queue", "");
- beanRegistry.registerSingleton(beanPrefix + "Queue", queue);
- beanRegistry.registerSingleton(beanPrefix + "ExchangeBinding", bindingToExchange);
- beanRegistry.registerSingleton(beanPrefix + "DeadLetterBinding", bindingToDeadLetter);
- }
- }
- private FanoutExchange createExchangeBean(String exchangeName) {
- FanoutExchange bean = new FanoutExchange(exchangeName);
- String beanPrefix = exchangeName.replace(".", "").replace("exchange", "");
- beanRegistry.registerSingleton(beanPrefix + "Exchange", bean);
- return bean;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement