activemq的工作原理

时间:2013-01-17 06:02:31

标签: javascript ajax servlets activemq

我在ActiveMQ官方网页上看到它是如何工作的,但无法理解整个方案请求和响应的进展情况。 根据我现在的理解,如果我在服务器上使用servlet,使用amq.js作为客户端使用JavaScript,那么

  1. JavaScript向服务器发送轮询请求。
  2. 服务器启动一个线程并检查要作为响应发送的数据。
  3. 如果此时数据不可用,服务器将等待,直到有任何数据。
  4. 服务器在可用时发送数据,然后连接中断。
  5. 客户端收到数据并再次发送轮询请求。
  6. 通过这种方式,客户端请求将停在服务器上,直到收到数据为止。

    这种理解是否正确且可行? 如果是,请求如何停在服务器上?

    感谢。

1 个答案:

答案 0 :(得分:2)

是的,你理解正确。但是由于限制请求将保持30秒,然后超时(默认)。

请求使用Jetty Continuations驻留在服务器上,因为Jetty是ActiveMQ中的servlet容器。

由于ActiveMQ,java方面,可以使用异步侦听器进行设置,因此不需要在线程上阻止整个轮询。