Java 在Web层处理异步单向服务对

Java 在Web层处理异步单向服务对,java,jquery,spring-mvc,cxf,apache-camel,Java,Jquery,Spring Mvc,Cxf,Apache Camel,我需要在web层中处理异步web服务对。我已经编写了一个“请求”服务客户端,它向服务发送查询请求。客户端收到一个http“200”,表明服务器已成功接收该消息 然后我有一个单独的响应侦听器,它是一个接收响应的Camel/cxfweb服务。我使用WS-Addressing消息ID关联请求和响应 我现在的任务是在web层处理这个问题。我希望用户填写表单,单击submit并调用web服务。然后,我的CXF web服务侦听器将收到一个响应,查看消息ID并将其返回到web层 对于同步服务,这是非常简单的。

我需要在web层中处理异步web服务对。我已经编写了一个“请求”服务客户端,它向服务发送查询请求。客户端收到一个http“200”,表明服务器已成功接收该消息

然后我有一个单独的响应侦听器,它是一个接收响应的Camel/cxfweb服务。我使用WS-Addressing消息ID关联请求和响应

我现在的任务是在web层处理这个问题。我希望用户填写表单,单击submit并调用web服务。然后,我的CXF web服务侦听器将收到一个响应,查看消息ID并将其返回到web层

对于同步服务,这是非常简单的。然而,对于异步web服务对,我不确定从哪里开始。我可以使用轮询方法,调用web服务,将消息ID写入映射,然后轮询映射,等待web侦听器将响应写入映射。然而,我认为有一些框架支持这一点

我正在研究SpringMVC和JQuery,因为我认为这是一个正确的方向,但在为初学者寻找好的资源时遇到了问题

有人有什么想法吗

谢谢,
Yogesh

一种方法是编写一个Spring MVC控制器来调用出站web服务,并等待接收到入站web服务(即:响应)。您可以通过在等待入站服务时挂起线程,然后恢复线程来实现这一点。当这种情况发生时,您可以在网站上显示某种微调器。所以从浏览器的角度来看,它看起来仍然像一个请求和响应


但是,根据您的网站流量,这可能是一种效率低下的方法,因为在您等待入站服务时,将使用一个web容器线程。如果您的网站流量很大,并且入站请求和出站请求之间的延迟非常大,那么您可能会很快用完可用线程并导致网站崩溃。

嗨,Jerry,谢谢您的反馈。我认为这种方法会奏效,但我希望功能强大的AJAX框架在这方面有一种更有效的方法。挂起服务器端线程,同时在浏览器上显示微调器。浏览器和服务器之间的通信应以异步方式完成。我会试一试,然后再报告。