如何更新外部配置文件(如:config-ex.groovy
,config-ex.properties
),而不在Grails的重建WAR文件,重启重启服务器和应用程序将适用于从外部配置文件如何更新外部配置文件,而无需重建被战争文件中的Grails
4
A
回答
5
如果我理解的很好,您希望在战争之外将Grails配置外化。 您可以在Config.groovy中这样
grails.config.locations = ["file:path/to/your/Configfile.groovy"]
定义外部配置,请参阅Grails的文档4.4 Externalized Configuration
+0
很高兴为你效劳,不要忘记接受答案,谢谢! –
3
与定义你的外部的Grails的配置:
grails.config.locations = ["file:some/path/to/Config.groovy"]
然后重新加载它们在运行时,你可以使用这样的代码:
def config = grailsApplication.config
def locations = config.grails.config.locations
locations.each {
String configFileName = it.split('file:')[0]
config.merge(new ConfigSlurper().parse(new File(configFileName).text))
}
我在管理员保护的控制器中有上述代码。
1
走到房子周围为这一个,谢谢格雷格
对于服务或Groovy的src的文件,你可以使用:
import org.springframework.context.ApplicationContext
ApplicationContext ctx = (ApplicationContext) org.codehaus.groovy.grails.web.context.ServletContextHolder.getServletContext().getAttribute(org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes.APPLICATION_CONTEXT);
def grailsApplication = ctx.getBean("grailsApplication")
ConfigObject config = ctx.getBean(GrailsApplication).config
def locations = config.grails.config.locations
locations.each {
String configFileName = it.split("file:")[1]
config.merge(new ConfigSlurper().parse(new File(configFileName).text))
}
而对于抽象类,通常由控制器扩展:
import grails.util.Holders
def config = Holders.config
def locations = config.grails.config.locations
locations.each {
String configFileName = it.split("file:")[1]
config.merge(new ConfigSlurper().parse(new File(configFileName).text))
}
相关问题
- 1. grails配置log4j没有重建战争?
- 2. 蜻蜓战争文件重新部署
- 3. 更新无需重新部署每次庞大的战争文件 - 阿帕奇
- 4. 部署战争的Grails外部配置位置
- 5. 从战争中加载配置文件
- 6. 特定于战争的配置文件
- 7. 更改生成的战争文件和重复的战争文件的名称
- 8. 战争文件部署
- 9. Grails的外部配置文件
- 10. 创建战争文件
- 11. 更新詹金斯从战争文件
- 12. GlassFish 3中部署的战争文件
- 13. Grails外部配置文件路径
- 14. 如何阅读置于战争外的属性文件?
- 15. 如何指定依赖战争的配置文件?
- 16. maven如何才能从战争文件中导入的项目构建战争?
- 17. 当从战争中运行时,grails占位符未在外部配置文件中解析
- 18. Django的Jython的战争文件部署
- 19. 的Tomcat 7的战争文件部署
- 20. 如何更新战争内的jar文件
- 21. 无法从战争中获取文件
- 22. 部署战争文件的Tomcat错误
- 23. 由Grails创建的战争忽略图像文件
- 24. 更新配置文件,无需重新启动应用程序
- 25. 从战争容器中加载外部的.xhtml文件(Facelets)
- 26. 如何在tomcat中放置一个文件,而不是重新部署整个战争?
- 27. 部署Grails战争文件到Tomcat服务器
- 28. ANT战争任务 - 如何战争只有新的/修改的文件
- 29. 构建战争时在maven项目中被覆盖的文件
- 30. 如何使用Maven使用其他文件更新现有的战争文件?
我不明白这个问题 - grails应用程序_will_在重新启动时会看到其外部配置文件的更改,因此无需重建战争。 –