0

这个问题特别源于在 grails 应用程序中指定 XMLOutputFactory 实现,但我一直在寻找一种更通用的 grails 方法来执行此操作。所以这里。

在我们的 grails 应用程序中,我们使用 XMLOutputFactory 来构建呈现文档的 XMLWriters。现在,我们正在寻找的 XMLOutputFactory 实现出现在 Sun 的此类实现中,即 com.sun.xml.internal.stream.XMLOutputFactoryImpl。

因此,为了使用它,我们将它添加为 Glassfish 中的系统属性,我们将其用作我们的应用服务器,它可以按我们预期的方式工作。这引出了我的问题,我们如何在 Grails 应用程序中进行此映射,以便我们不需要为此更新服务器属性。

最初我认为它应该只是将它添加到 Config.groovy,但我不认为系统属性与 grails 配置属性相同。

第二个选项是在命令时使用 -D 参数调用它们。这很有效,但我一直在寻找一个更优雅的解决方案。

因此,是否有“grails”方式来做到这一点?如果是这样,一旦部署到容器中,这些属性会持续存在吗?或者更新容器属性是解决此问题的唯一方法。

我希望这是有道理的 :)。

谢谢

4

1 回答 1

0

如果此配置更改为部署Config.groovy是一个好地方,因为您可以将其外部化,因此在您的服务器环境中您可以替换配置的值。

配置文件

application.xmlFactory=...

grails.config.locations = [classpath:external-config.groovy]

外部配置.groovy

application.xmlFactory=com.sun.xml.internal.stream.XMLOutputFactoryImpl
于 2013-11-14T17:04:34.747 回答