我在tomcat上部署了一个jax-rs webapp。 webapp引用另一个外部Web服务,其URL可能因版本增量而发生变化,并且在开发环境中与生产环境不同。
现在我尝试了不同的方法来引用当前的外部服务URL,但似乎都不够好:
A)我可以在数据库表中包含变量,这对于dev / production来说是不同的。在版本增量上,我需要更新网址。这样做没问题,但如果可能的话,我宁愿更喜欢与应用程序更接近的变量。
B)我可以将变量存储在上下文xml中。但后来我有特定于应用程序的参数,我想避免。更重要的是,我需要重新启动应用程序甚至tomcat实例才能使更改生效。我想在生产环境中避免这种情况。
C)我可以将变量放在web.xml中。然后我必须使用外部Web服务的版本增量更新应用程序。如果我只链接到外部Web服务的主要版本(端点可能会发生变化),那么我可以处理这个问题,所以更新很少。但更糟糕的是,我不会对开发和生产有不同的价值,因为web.xml附带了应用程序。
任何其他想法或建议,如何解决这个问题?
答案 0 :(得分:0)
好的,我现在最终得到了一个属性文件,我没有打包应用程序,但是它驻留在服务器上。所以我可以有不同的开发和生产,我引用外部Web服务的当前版本。属性filename来自context.xml。