Java tutorial
/* * This file is part of EasyExchange. * * (c) 2014 - Machiel Molenaar <machiel@machiel.me> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ package com.mtech.easyexchange.ordersolver; import com.mtech.easyexchange.ordersolver.consumer.OrderMessageConsumer; import com.mtech.easyexchange.ordersolver.solver.OrderSolverThread; import org.springframework.amqp.core.BindingBuilder; import org.springframework.amqp.core.Queue; import org.springframework.amqp.core.TopicExchange; import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitAdmin; import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer; public class OrderSolverConfigurer { public static void main(String... args) throws Exception { ConnectionFactory cf = new CachingConnectionFactory("127.0.0.1"); RabbitAdmin admin = new RabbitAdmin(cf); Queue queue = new Queue("OrderQueue"); admin.declareQueue(queue); TopicExchange exchange = new TopicExchange("OrderExchange"); admin.declareExchange(exchange); admin.declareBinding(BindingBuilder.bind(queue).to(exchange).with("*")); OrderMessageHolder holder = new OrderMessageHolder(); OrderSolverThread ost = new OrderSolverThread(holder); ost.start(); SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(cf); container.setMessageListener(new OrderMessageConsumer(holder)); container.setQueueNames("OrderQueue"); container.start(); } }