【问题标题】:Grails App with java service and JMS带有 java 服务和 JMS 的 Grails 应用程序
【发布时间】:2012-12-08 09:54:25
【问题描述】:

我刚开始使用 Grails,想构建一个示例应用程序。

以下是我设想的应用程序流程。我会跟进问题。

应用的流程:

  • 用户上传文件
  • 控制器获取文件并返回“已上传”的响应
  • 文件被放入 JMS 队列中
  • 单独运行的 Java 服务从队列中获取文件并处理它(只读取第一个单词)
  • Java 服务将响应放回(它把响应放在哪里?)
  • Grails 应用程序将读取响应并将其呈现给用户

问题

  • java服务读取文件后把数据放在哪里?
  • grails 应用如何读取 java 服务放的数据?
  • 我的理解中是否缺少某些内容?我打算使用 grails jms 插件和 ActiveMQ
  • 可以在此架构中进行改进吗?这是我正在为更大的应用程序组装的原型。

我非常感谢任何关于上述简单应用示例的文章/教程...?

【问题讨论】:

    标签: java grails jms activemq


    【解决方案1】:

    在您的情况下,JMS 以同步方式使用,因此您是否可以这样做取决于您的 JMS 提供者。如果 JMS 提供者能够进行同步通信,则您将文件处理后的答案放入回复队列。

    在同步 JMS 方式中,java 服务将等待来自 JMS 提供者的响应,以便可以将来自服务的响应返回给控制器,然后再提供给用户......

    所以..:

    • 用户上传文件
    • 控制器获取文件并将其发送到 JMS 队列并等待响应!
    • 单独运行的 Java 服务从队列中获取文件并处理它(只读取第一个单词)
    • Java 服务将响应放回回复队列中
    • 控制器将获取响应并读取响应并将其呈现给用户

    您的页面可能是一个不错的 ajax 页面,它为用户提供了一个处理微调器。

    【讨论】:

    • 已经编写了一个与此非常相似的系统,并且 Grails webapps 通过同步 JMS(使用 JmsInvokerProxyFactoryBean)与一个单独的基于 Spring 的后端处理系统通信是一种方法。
    • 独立运行的Java服务(只读取第一个单词)是什么意思从队列中取出文件并处理它(只读取第一个单词)
    猜你喜欢
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多