package me.test.amqp; import java.util.concurrent.atomic.AtomicInteger; import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer; import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter; public class RpcConsumer { public static void main(String[] args) { CachingConnectionFactory connectionFactory = new CachingConnectionFactory("localhost"); connectionFactory.setUsername("guest"); connectionFactory.setPassword("guest"); SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(); container.setConnectionFactory(connectionFactory); container.setQueueNames(RpcBroker.QUEUE_NAME); container.setMessageListener(new MessageListenerAdapter(new HelloWorldHandler())); container.start(); } public static class HelloWorldHandler { private final AtomicInteger counter = new AtomicInteger(); public String handleMessage(String text) { System.out.println("Received: " + text); return text + "=" + counter.incrementAndGet(); } } }