从不同的dataSource获取信息以在Grails上更新我自己的数据

时间:2014-05-02 17:35:49

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

我有一个带有自己的数据源的应用程序,它需要从不同的数据源获取“Item”对象,只读取一个,然后使用这些Items并添加一些属性和“Part”和“Process”对象的集合,所以我正在考虑三种选择:

  1. 使用2个数据源创建一个对象,该数据源以某种方式从只读数据库读取但在数据库中更新
  2. 在readonly数据库中创建一个触发器,当有人在那里插入,更新或删除某些东西时,该触发器会在我的数据库中创建一个对象。
  3. 创建两个对象,一个指向只读数据库,另一个指向我的数据库,并使用装饰器模式从其他数据库获取信息,并使用我的对象获取功能
  4. 我认为最容易的是readonly数据库中的触发器因为我没有看到如何用工厂实现一个观察者来创建我自己的对象,实现一个或三个选项,我不确定是否有一个更好的方法,那么,实现这个的最佳方式是什么?选项1或3如何实施?有什么像我可以调用的“findAllFromHereThatIsntThere”Gorm方法吗?

    由于

1 个答案:

答案 0 :(得分:1)

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

Grails为multiple databases提供了可在此处使用的强大功能。

希望有所帮助