【问题标题】:Groovy + OSGi or Grails?Groovy + OSGi 还是 Grails?
【发布时间】:2011-03-05 02:05:57
【问题描述】:

我最近一直在学习 OSGi 和一些关于 Groovy 的知识,但对两者都很陌生。我知道 Groovy 是 Grails 框架的一部分,而且 Grails 有利于快速开发。 OSGi 中最令人向往的特性之一是类加载器管理,我相信这可能仍然是 Grails 的一个问题(如果错了请纠正我)。所以,我很好奇在 OSGI 环境中运行 Groovy 和/或 Grails 是否可能,甚至是可取的?

【问题讨论】:

    标签: grails groovy osgi


    【解决方案1】:

    有一个Grails plugin 可用,它将Grails 应用程序转换为可以部署在SpringSource 的dm 服务器上的OSGi 包。插件作者还发布了一些关于 Grails 与 OSGi 集成的blog posts。但是,据我了解,Grails 框架的 OSGi 支持仍然相当有限,将通过Grails 2.0“原生”支持。

    【讨论】:

      【解决方案2】:

      在我看来,将整个应用程序打包为 OSGi 包并没有真正的好处,除了可以在 OSGi 容器中运行它。它不会使您的应用程序更加模块化,因为它仍然是一个大捆绑包。请注意,使用 OSGi 不会简化与类加载有关的任何事情。当您使用未设计为在 OSGi 环境中运行的库时,它可能会引入问题。除非您有充分的理由,否则不要使用它。这是一项很棒的技术,但仅仅将其放入其中不会使任何事情变得更简单或更好。

      【讨论】:

        【解决方案3】:

        我倾向于认为,相反的方式更可取:让 Grails 模块,如 GORM 或 GS​​P 在 OSGi 容器中运行。 所有 Groovy 或 Grails jar(现在是模块而不是插件)都已经与 OSGi 兼容,因此将它们安装到正在运行的容器中应该不是问题。因此,您可以结合两种生态系统的优势。

        另一方面,与 tomcat 相比,将打包为一个巨大的单体包的应用程序部署到 OSGi 容器中并没有太大区别。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-12-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-10
          • 1970-01-01
          相关资源
          最近更新 更多