Swing 应用程序监听 Grails 应用程序中的变化

标签 swing grails messaging

我想知道如何让一个简单的 Swing 应用程序知道 Grails 应用程序的变化。因此,如果 Grails 更新了一个域对象,Swing 就会意识到它并更新它的显示。两个应用程序都由同一个数据库支持。

我在想 Grails JMS(或 Apache Camel)插件可以公开发生的变化,但是 Swing 应用程序如何发现它们呢?我希望 Grails 方面的实现是直截了当的,但我对 Swing 方面完全迷失了。

如果这听起来很模糊,那是因为这种类型的整合对我来说是一个完全未知的领域。如此之多,以至于我还没有代码可以发布。

最佳答案

好吧,如果是同一个数据库,您可以创建一个表,该表将在某些更改时包含记录以及一些更新该表的方法(在您的 grails 应用程序中触发或更新)。您的 Swing 应用程序只会检查(您可以使用 timersQuartz 作业)表并在找到某些内容时刷新 View 。

就像是:

grails_changes (i'm not concerned about better names here :) )
--------------------------
id
domain
id_record_domain
timestamp_changed
timestamp_updated_swing
domainid_recrod_domain使您的桌面应用程序更加灵活,例如,您可以拥有一个仅针对一个特定域刷新的特定 View 。
timestamp_update_swing是知道 View 是否已经更新以及何时更新。

所以流程将是:
  • 在 grails 应用中记录更改(创建、修改、删除);
  • 在 grails_changes 中注册更改;
  • Swing app查询表,寻找没有timestamp_updated_swing的新记录;
  • Swing 应用程序刷新 View ;
  • 关于Swing 应用程序监听 Grails 应用程序中的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12092589/

    相关文章:

    java - JMenuBar 可见后更新 JMenu 和 JMenu 字体

    grails - 在 groovy 类中访问 grailsApplication 或 Service

    java - 多线程之间的通信

    带有文本和按钮的 Java 对话框

    java - 覆盖jTable中的值

    java - 如何在java中添加到这个圆形按钮金属背景?

    grails - 是否可以持久保存列表中的所有对象,但失败的对象除外。如果是,怎么办?

    oracle - 需要帮助使用 Oracle JDBC 瘦客户端加密配置 Grails

    security - CQRS 应用跨领域问题,例如安全性

    java - 我可以存储和读取 STOMP 队列/主题中的消息吗?