我想知道如何让一个简单的 Swing 应用程序知道 Grails 应用程序的变化。因此,如果 Grails 更新了一个域对象,Swing 就会意识到它并更新它的显示。两个应用程序都由同一个数据库支持。
我在想 Grails JMS(或 Apache Camel)插件可以公开发生的变化,但是 Swing 应用程序如何发现它们呢?我希望 Grails 方面的实现是直截了当的,但我对 Swing 方面完全迷失了。
如果这听起来很模糊,那是因为这种类型的整合对我来说是一个完全未知的领域。如此之多,以至于我还没有代码可以发布。
最佳答案
好吧,如果是同一个数据库,您可以创建一个表,该表将在某些更改时包含记录以及一些更新该表的方法(在您的 grails 应用程序中触发或更新)。您的 Swing 应用程序只会检查(您可以使用 timers 或 Quartz 作业)表并在找到某些内容时刷新 View 。
就像是:
grails_changes (i'm not concerned about better names here :) )
--------------------------
id
domain
id_record_domain
timestamp_changed
timestamp_updated_swing
domain
和 id_recrod_domain
使您的桌面应用程序更加灵活,例如,您可以拥有一个仅针对一个特定域刷新的特定 View 。timestamp_update_swing
是知道 View 是否已经更新以及何时更新。所以流程将是:
关于Swing 应用程序监听 Grails 应用程序中的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12092589/