java - spring-amqp中消费者同步回复消息有没有更简单的方法?
ringa_lee
ringa_lee 2017-04-18 10:26:20
0
2
486

amqp中使用
provider使用sendAndReceive可以等待消费者取得返回值
consumer使用receiveAndReply,并添加监听器,可以取得provider的message处理并回复

当消息是异步时,直接注册监听器实现onMessage()方法即可。
但是onMessage()方法的返回值是void

那么如果要实现provider同步的功能
consumer除了

while(true){
    amqpTemplate.receiveAndReply(queueName,new Callback(Message message){
         dosomething;
         return "result";
    })
}

这种方式之外 还有别的使用方法吗?

ringa_lee
ringa_lee

ringa_lee

membalas semua(2)
刘奇

Mengapa kita perlu menunggu nilai pulangan?
A -> B
A <- B
A menghantar mesej kepada B, dan B menerima mesej selepas pemprosesan selesai. B menghantar mesej (resit) kepada A apabila A menerima hasil pemprosesan mesej. AB ialah Producer dan juga Consumer.

Jika MQ masih perlu melakukan penyegerakan dan operasi lain, bukankah lebih mudah untuk menggunakan MQ secara terus dan menggunakan antara muka?

阿神

Kemudian anda mahu pembekal menyekat sehingga ia menerima nilai pulangan daripada pengguna?
Ini tidak disyorkan Jika anda mesti menerima secara serentak, anda boleh membuat kedua-dua pembekal dan pengguna berbenang tunggal.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!