在Linux系統上,我需要部署具有硬編碼到應用中的外部數據和Web服務器名稱的主機名的Java進程,例如, 「mailserver」和「ftpserver」。在不同主機上部署時,我們當然可以使用/ etc/hosts來允許此應用程序的每個部署使用不同的遠程服務器作爲其「mailserver」或「ftpserver」。進程對同一主機名使用不同的IP地址
現在,我們希望將多個應用程序部署整合到一臺主機上。但是,每個部署仍然需要指向它自己的「mailserver」或「ftpserver」,並且該整合主機的/ etc/hosts無法使用,因爲它由應用程序的所有實例共享。
有沒有一種方法可以在進程上下文中指定名稱到IP的映射,而不使用/ etc/hosts甚至是DNS - 因爲這些是系統範圍的並且被所有進程共享?
我知道chroot會這樣做,但我只是願意將它作爲最後的手段。
乾杯, 狗
您可以修改Java代碼,以便以合理的方式確定服務器名稱嗎? – 2012-03-27 21:12:45
那麼,我寧願在那個地方使用監獄。我是系統管理員,而不是開發人員。我不能爲了我的生活理解他們以這種方式編寫它們時的想法(沒有連接池,沒有配置文件來定義外部主機和URLS等) – 2012-03-27 21:38:49
如果可行,更改軟件。有些人不善於處理所有簡單的事情,即使在很好地理解如何做好這些事情的情況下,也可能會讓事情複雜化,至少同樣糟糕。 – 2012-03-27 22:11:37