我已經部署在各種目的的測試ENV,發展ENV,生產包膜等如何在web服務代碼中獲取主機WAS 7.0服務器url?
四個不同的服務器中的常用代碼庫,但我需要知道的代碼,服務器的代碼運行時決定的流量在我的碼。任何人都知道如何獲取服務器上部署的Web服務代碼中的服務器url或id?
我已經部署在各種目的的測試ENV,發展ENV,生產包膜等如何在web服務代碼中獲取主機WAS 7.0服務器url?
四個不同的服務器中的常用代碼庫,但我需要知道的代碼,服務器的代碼運行時決定的流量在我的碼。任何人都知道如何獲取服務器上部署的Web服務代碼中的服務器url或id?
方法1: 4個不同的服務器,意味着四個不同的URL可以。
假設UR應用程序URL是
http(s)://ipaddress:port/application
現在有可能是所有四個服務器實例是同一臺機器上。在這種情況下,「ipaddress」將是相同的。但港口會有所不同。如果機器不同,那麼ipaddress和port都會不同。
現在在你的代碼中你可以得到absoultepath。絕對路徑將由請求的絕對路徑的完整URL組成。像
http://ipaddress:port/application/abc/def/x.java.
現在從這裏你可以提取端口/ ipaddress並編寫你的邏輯。
Approach2:
有你的應用程序中的屬性文件,其中包含其部署在服務器上。 (現在我不能想到自動設置的東西,但部署時,您可以在此屬性文件中設置服務器名稱)
當您需要時。你可以閱讀屬性文件,你會知道你正在運行的應用程序的版本。
個人I`d喜歡approach2(應該中將優先的情況下,我們可以認爲初始化屬性的文件自動)
希望它可以幫助:-)
見第二次在回答以下問題:HTTP: //stackoverflow.com/questions/10619021/getting-instance-name-of-a-websphere-app-server – home