2012-09-24 74 views
0

我已經部署在各種目的的測試ENV,發展ENV,生產包膜等如何在web服務代碼中獲取主機WAS 7.0服務器url?

四個不同的服務器中的常用代碼庫,但我需要知道的代碼,服務器的代碼運行時決定的流量在我的碼。任何人都知道如何獲取服務器上部署的Web服務代碼中的服務器url或id?

+0

見第二次在回答以下問題:HTTP: //stackoverflow.com/questions/10619021/getting-instance-name-of-a-websphere-app-server – home

回答

0

方法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(應該中將優先的情況下,我們可以認爲初始化屬性的文件自動)

希望它可以幫助:-)