【问题标题】:How can Grails load config external to WAR via HTTP?Grails 如何通过 HTTP 将配置加载到 WAR 外部?
【发布时间】:2011-02-10 17:53:37
【问题描述】:

我已经看到有关如何使用 grails.config.locations 为 WAR 文件之外的 Grails 配置指定外部 .groovy 和 .properties 文件的问题和答案,但我们需要不在服务器上的外部配置容器(Tomcat)在其上运行。 (它确实有一个本地 FS,但它不是持久的,并且对于所有部署环境都是相同的 - 因此需要在 WAR、容器和服务器外部覆盖它)。

那么,我可以为 grails.config.locations 使用 http: URL 吗?

【问题讨论】:

    标签: grails configuration external war


    【解决方案1】:

    是的。以下作品:

    在 Config.groovy 中添加这个并使用 -D 将 PARAM1 传递给 JVM 以指定配置文件的外部 URL。

    grails.config.locations = ["url:" + System.properties["PARAM1"]]
    

    【讨论】:

    • 为此,请确保 URL 以 .groovy.properties 结尾。
    • 你能展示一个完整的例子来说明这个位置应该是什么样子吗?使用 grails 1.3.7 url:someplace.com/Config.groovy 似乎不起作用。
    【解决方案2】:

    我不知道任何允许您为 grails.config 指定 URL 的内置功能。但是,您似乎可以自己实现一些东西:

    • 定义您要用于 d/l 包含在您的 WAR 中的 Congif.groovy 文件的 URL
    • 在同一个 Config.groovy 脚本中,编写代码以将文件下载到服务器文件系统上的特定位置(请参阅 this article
    • 将 grails.config.locations 设置为指向您将 Config.groovy 文件写入到的文件系统位置。

    我没有尝试过,但似乎可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-22
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      • 2020-07-22
      • 1970-01-01
      • 2018-03-09
      相关资源
      最近更新 更多