我有一个通用代码库部署在四个不同的服务器中,用于各种目的,例如测试环境、开发环境、生产环境等。
但我需要知道代码内部,运行哪个服务器的代码来决定我的代码流。有人知道如何在部署在服务器上的 Web 服务代码中获取服务器 url 或 id 吗?
我有一个通用代码库部署在四个不同的服务器中,用于各种目的,例如测试环境、开发环境、生产环境等。
但我需要知道代码内部,运行哪个服务器的代码来决定我的代码流。有人知道如何在部署在服务器上的 Web 服务代码中获取服务器 url 或 id 吗?
方法 1:4 个不同的服务器,意味着四个不同的 URL。
假设您的应用程序网址是
http(s)://ipaddress:port/application
现在有可能所有四个服务器实例都在同一台机器上。在这种情况下,“ipaddress”将是相同的。但港口会有所不同。如果在这种情况下机器不同,则 ipaddress 和 port 都会不同。
现在在您的代码中,您可以获得绝对路径。absolutepath 将包含请求绝对路径的文件的完整 URL。喜欢
http://ipaddress:port/application/abc/def/x.java.
现在,您可以从中提取端口/IP 地址并编写您的逻辑。
方法2:
在您的应用程序中有一个属性文件,其中包含正在部署的服务器。(现在我想不出自动设置它的东西,但是在部署时你可以在这个属性文件中设置服务器名称)
以后需要的时候。您可以阅读属性文件,您将知道您正在运行哪个版本的应用程序。
我个人更喜欢方法2(如果我们可以考虑自动初始化属性文件,应该更喜欢)
希望能帮助到你 :-)