Swing应用程序侦听Grails应用程序中的更改

时间:2012-08-23 13:23:07

标签: swing grails messaging

我想知道如何让一个简单的swing应用程序了解Grails应用程序中的更改。因此,如果Grails更新域对象,Swing会意识到它并更新它的显示。这两个app都由同一个DB支持。

我认为Grails JMS(或Apache Camel)插件可以揭示正在发生的变化,但Swing应用程序如何发现它们?我希望Grails方面的实施能够直接进行,但我对Swing方面完全失败了。

如果听起来含糊不清,那是因为此时此类整合对我来说是一个完全未知的领域。这么多,我还没有代码可以发布。

1 个答案:

答案 0 :(得分:0)

好吧,如果是同一个数据库,你可以创建一个表,当有些内容发生变化时会有记录,还有一些方法可以更新这个表(在你的grails应用程序中触发或更新)。您的Swing应用程序只会检查(您可以使用timersQuartz个工作表)并在找到时刷新视图。

类似的东西:

grails_changes (i'm not concerned about better names here :) )
--------------------------
id
domain
id_record_domain
timestamp_changed
timestamp_updated_swing

domainid_recrod_domain使您的桌面应用程序更加灵活,例如,您可以拥有仅针对一个特定域刷新的特定视图。

timestamp_update_swing将知道视图是否已更新以及何时更新。

所以流程将是:

  • 在grails app中记录已更改(已创建,已修改,已删除);
  • 在grails_changes中注册更改;
  • Swing app查询表,查找没有timestamp_updated_swing的新记录;
  • Swing应用程序刷新视图;