asynchronous - 在这种情况下,哪个更好-同步还是异步Web服务?

标签 asynchronous service axis2 synchronous

我正在Axis2中设置一个Web服务,其工作是获取一堆XML并将其放在队列中以备后用。我知道可以通过在“调用”实例上使用“invokeNonBlocking”操作来创建客户端以异步调用同步Web服务。 (ref http://onjava.com/pub/a/onjava/2005/07/27/axis2.html?page=4)

因此,我的问题是,在这种情况下使用异步Web服务有什么优势吗?这似乎是多余的,因为1)客户端未被阻止,并且2)服务必须接受xml并将其写入队列,无论它是同步还是异步

最佳答案

在我看来,异步是合适的方法。需要考虑的几件事:

  • 您是否有多个客户端在任何给定时刻访问此服务?
  • 此过程多久发生一次?

  • 实现异步方法确实需要花费更多的精力。但我保证,最终您将对结果感到满意。首先,您不必管理线程。您最主要的担心可能只是查询中数据的波动性(即种族/僵局条件)。

    关于asynchronous - 在这种情况下,哪个更好-同步还是异步Web服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2105543/

    相关文章:

    Swift 4. 在继续执行之前等待 HealthKit HKQuery 的异步结果

    javascript - Node.js:使用顺序+异步输入/输出进行并行处理

    android - Android 中的全屏服务

    wcf - 如何使用共享 key 限制对 WCF 服务的访问

    java.lang.NoClassDefFoundError : org/apache/axis2/client/Stub 错误

    perl - 如何编写一个在 HTTP 响应发送到客户端后运行的 Plack 中间件?

    node.js - 在 Nodejs 中编写异步 http 返回

    wcf - 如何创建无需卸载即可在机器上运行任意次数的安装和部署项目?

    java - 如何使用 apache axis2 将 soap header 信息添加到 java soap 服务请求中

    java - 在 XSD 中使用 SAML 断言