java - 什么是 MQ,它们与 Web 服务有何不同

标签 java web-services jms rabbitmq mq

我最近开始研究 MQ,我有一些非常基本的问题,

  1. 如何在 Web 服务和 MQ 之间做出选择?

  2. MQ 可以只发送字符串消息还是可以与 Java 对象一起使用

  3. 客户端和服务器所在的位置是否有任何限制?或者就像 webseriveces 一样,客户端/发布者可以在任何地方,而服务器/接收者应该驻留在公共(public)网络上(假设它是公共(public) WS)

最佳答案

  1. 消息队列主要用于您不必等待响应的异步事物。您可以在寻求响应之前阻止调用者,但这通常不是 MQ 的用途。只有在用户等待输出的情况下才可以使用它。网络服务则相反。你收到一个请求,处理它并在有限的时间内返回它。调用者通常会阻塞,直到收到响应。
  2. 您可以将字符串、对象、映射、字节数组发送到 MQ。
  3. 对于 MQ 的放置没有任何限制。就像网络服务一样,它们可以在任何地方,您可以从队列中写入和读取。

关于java - 什么是 MQ,它们与 Web 服务有何不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8845606/

相关文章:

java - 暂时减慢处理速度

java - 为什么我们应该在 WSDL 中有 SOAP 位置?

c# - 如何将附加数据传递到 Web 服务

java - 在哪里可以找到 glassfish 中的所有 wsdl?

java - 使用java在jboss中使用MDB的JMS队列监听器和发布器

java - 返回值的方法与不返回值的方法

java - 我如何使用 MEL 作为调用的方法参数创建静态字符串数组

java - ruby 中的条件和迭代器

java - JMS 队列的最大数量

java - Java 处理链中的作业排队