grails - 从其他数据源获取信息以在Grails上更新我自己的信息

标签 grails design-patterns decorator observer-pattern multiple-databases

我有一个具有自己数据源的应用程序,该应用程序需要从另一个数据源(一个只读数据源)中获取“Item”对象,并使用该Items并将它们添加到“Part”和“Process”对象的一些属性和集合中,所以我正在考虑三种选择:

  • 创建一个具有2个数据源的对象,该数据源以某种方式从只读数据库读取但在我的数据库中更新
  • 在只读数据库中创建触发器,当有人在其中插入,更新或删除某些内容时在我的数据库中创建一个对象。
  • 创建两个对象,一个指向只读数据库,另一个指向我的数据库,并使用装饰器模式使用我的对象
  • 从其他数据库和功能中获取信息

    我认为最简单的方法是只读数据库中的触发器,因为我看不到如何用工厂实现观察者来创建自己的对象,实现选项一或三个,而且我不确定是否有更好的方法,那么,实现此目标的最佳方法是什么?如何执行选项1或3?是否可以调用Gorm方法,例如“findAllFromHereThatIsntThere”?

    谢谢

    最佳答案

    由于您在外部数据库上使用数据库触发器,因此应用程序中的逻辑非常简单。在您的应用程序上,您可以具有映射只读数据库的域和本地数据库的域。这将有助于分离每个域的关注点。操纵数据并将其存储在应用程序数据库中的逻辑可以在事务服务内部。

    Grails提供了multiple databases的出色功能,可在此处使用。

    希望能帮助到你

    关于grails - 从其他数据源获取信息以在Grails上更新我自己的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23433868/

    相关文章:

    python 使用包含模式复制文件

    java - 装饰现有类以支持 javafx 属性

    grails - 添加两个字段并在grails中插入域类的第三个字段

    grails - 手动安装插件?

    grails - Grails按属性搜索拥有的对象

    javascript扩展模块模式

    python - 装饰器 - 在 Python 中抛出无效语法

    bash - 尝试在Grails中运行bash脚本时缺少属性

    java - 处理事件的设计模式

    java - MVC 模式的原始想法