Grails,Grails RabbitMQ插件,Java,Spring AMQP-多客户端
我开发了简单的GrailsRESTWeb服务,它使用GrailsRabbitMQ插件并向队列发送消息 Grails-Config.groovyGrails,Grails RabbitMQ插件,Java,Spring AMQP-多客户端,java,grails,rabbitmq,grails-plugin,spring-amqp,Java,Grails,Rabbitmq,Grails Plugin,Spring Amqp,我开发了简单的GrailsRESTWeb服务,它使用GrailsRabbitMQ插件并向队列发送消息 Grails-Config.groovy queues = { exchange name: 'my.topic', type: topic, durable: false, { foo durable: true, binding: 'test.#' } } 在我的Java桌面应用程序中,我尝试使用Spring AMQP来收听该消息 Main.java pu
queues = {
exchange name: 'my.topic', type: topic, durable: false, {
foo durable: true, binding: 'test.#'
}
}
在我的Java桌面应用程序中,我尝试使用Spring AMQP来收听该消息
Main.java
public static void main(String[] args) {
CachingConnectionFactory cf = new CachingConnectionFactory("localhost");
cf.setUsername("guest");
cf.setPassword("guest");
RabbitAdmin admin = new RabbitAdmin(cf);
SimpleMessageListenerContainer container =
new SimpleMessageListenerContainer(cf);
Object listener = new Object() {
public void handleMessage(String foo) {
System.out.println(foo);
}
};
MessageListenerAdapter adapter = new MessageListenerAdapter(listener);
container.setMessageListener(adapter);
container.setQueueNames("foo");
container.start();
}
当我运行多个客户端(比如两个)时,有时一个接收“消息”,有时另一个。
两个客户端如何在每次“发送”时接收“消息”(我通过重新加载页面从我的索引Grails控制器发送消息)
您更喜欢哪种方式?我是新手:)每个消费者都需要自己绑定到exchange的队列
同一队列上的多个使用者竞争消息。是否可以开发一个应用程序,在该队列上侦听不同的消息。那么我的Main.java会是什么样子呢?不。与JMS不同,AMQP中队列上没有消息选择器的概念。您必须配置exchange以在代理中进行选择。您可以在一个侦听器容器中侦听多个队列,但不能只侦听选定的消息(如果这是您的意思的话)。如何在一个侦听器中侦听多个队列。你能给我看一些代码吗。我正在努力学习AMQP的概念,这很难理解。container.setQueueNames(“foo”、“bar”、“baz”);我建议你先看看这本书。也看到了。谢谢。这个概念,即带有RabbitMQ的AMQP能否用于下一个场景。创建java桌面应用程序,同一应用程序的多个实例将在专用网络上的不同机器上运行。所有应用程序将如何检测来自服务器的更改(从Grails服务器发送消息),请简单介绍一下这方面的基本概念。