我们有一个GWT应用程序,它必须链接另一个应用程序。
这个链接在我的应用程序的所有阶段(本地、测试、登台、prod)都是不同的。有哪些选项可以配置GWT应用程序?
目前我们在每个环境中都使用属性文件。这个解决方案的问题是,我们必须为所有的环境创建不同的包。这很糟糕,我们希望构建一个可部署到所有环境的单个包。
但是我们如何告诉应用程序使用哪个配置呢?
如果你是指环王的粉丝-
One Build to rule them all, One Build to find then,
One Build to work on all and in the environment bind them
In the Land of Testing where the Shadows lie.
工作区的解决方案
- 所有特定于环境的属性文件被推入模板文件夹(log4j_prod.properties,log4j_stage. properties)。属性,hibernate。属性等)
- Prod属性文件是默认的,推送到WEB-INF/classes
- QA团队使用任何其他环境的模板文件修改属性文件。
我也很好奇,如果它是做任何其他方式:)
如果您想知道应用程序是否以哪种模式运行,可以在GWT类中使用一些静态方法。
isClient ()
在普通GWT环境中运行时返回true,无论是在开发模式还是生产模式下。如果此代码在普通JVM中运行,则返回false。这可能发生在服务器上运行共享代码时,或者在GWTTestCase测试的引导序列期间。
isProdMode ()
在生产模式下运行时返回true。在开发模式下运行或在普通JVM中运行时返回false。
实图书业管理系统()
确定正在运行的程序是脚本还是字节码。
等等……
基于这些标志,您可以配置属性的文件夹名称