0

我有一个通用代码库部署在四个不同的服务器中,用于各种目的,例如测试环境、开发环境、生产环境等。

但我需要知道代码内部,运行哪个服务器的代码来决定我的代码流。有人知道如何在部署在服务器上的 Web 服务代码中获取服务器 url 或 id 吗?

4

1 回答 1

0

方法 1:4 个不同的服务器,意味着四个不同的 URL。

假设您的应用程序网址是

http(s)://ipaddress:port/application 

现在有可能所有四个服务器实例都在同一台机器上。在这种情况下,“ipaddress”将是相同的。但港口会有所不同。如果在这种情况下机器不同,则 ipaddress 和 port 都会不同。

现在在您的代码中,您可以获得绝对路径。absolutepath 将包含请求绝对路径的文件的完整 URL。喜欢

http://ipaddress:port/application/abc/def/x.java. 

现在,您可以从中提取端口/IP 地址并编写您的逻辑。

方法2:

在您的应用程序中有一个属性文件,其中包含正在部署的服务器。(现在我想不出自动设置它的东西,但是在部署时你可以在这个属性文件中设置服务器名称)

以后需要的时候。您可以阅读属性文件,您将知道您正在运行哪个版本的应用程序。

我个人更喜欢方法2(如果我们可以考虑自动初始化属性文件,应该更喜欢)

希望能帮助到你 :-)

于 2012-09-24T14:01:23.427 回答