Spring 集成 : Hooking web services to a FIFO queue

标签 spring queue spring-integration

我仍在为 Spring Integration 苦苦挣扎——这是我的场景:

  • Web 服务从客户端 A 获取请求
  • Web 服务将请求放入队列
  • 队列使用者处理消息 FIFO 并发送响应,该响应被路由回 Web 服务
  • Web 服务将响应发送回客户端 A

  • 将有多个 Web 服务都将消息馈送到此队列中,我需要确保它们真正按照收到的顺序进行处理。

    我需要将 Spring 集成的哪些部分连接在一起?

    最佳答案

    我无法在 Spring Integration 方面为您提供帮助,但也许您需要重新考虑一下您的架构。在 ESB 系统中,当您知道消息的处理将花费相当长的时间或者您不确定远程端是否准备就绪时(另一个原因是桥接不兼容的组件),您通常会将消息放入队列中。当您将消息添加到队列时,您会立即返回给请求者,表明收到了消息,但不提供操作的结果。然后请求者需要轮询结果,或者您也可以提供某种“推送”功能。

    因此,如果处理 Queue 中的消息需要很多时间,我建议修改您的架构。 Web 客户端长时间等待回复并不常见,许多请求也可能超时。

    另一方面,如果消息的处理快速可靠,则不需要使用队列 channel 。让您的所有消息与一个中央组件(Java EE Session Bean、Spring Bean、Web 服务)通信并自己实现队列机制。它们已经是涵盖如何做到这一点的答案。

    关于 Spring 集成 : Hooking web services to a FIFO queue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/789416/

    相关文章:

    java - UserDetailsS​​erviceImpl 中的 loadUserByUsername 中的用户名字段为空

    java - java中使用数组进行队列

    c - 使用级别顺序在 n 叉树中输入元素

    Java Config 入站文件适配器事务管理

    java - 如何使用 spring-integration 创建异步单例套接字服务器?

    java - 有关 Spring 应用程序中 JDBC 中 SQL 指令的一些信息

    java - hibernate validator 的问题 - javax.persistence.RollbackException (spring)

    java - 具有特定父类的切入点匹配类型

    java:用于存储挂起的网络请求的线程安全数据结构(队列+映射)?

    spring-integration - 整数 :gateway equivalent Java DSL