2015-02-07 20 views
1

我被玩弄這幾天內,DNS和撞南牆Grails的本地管理的應用程序

的問題已被記錄在該自述:

https://github.com/vahidhedayati/grails-localdns/blob/master/README.md

基本上我試圖覆蓋給定主機名的DNS條目...所以最終有一個本地數據庫表,其中包含實際的DNS以外的條目,並覆蓋實際的IP到數據庫上的內容(用於測試目的,其中cetain主機名將在內部IP)

def index() { 
     System.setProperty("sun.net.spi.nameservice.provider.1", "dns,"+LocalManagedDnsDescriptor.DNS_PROVIDER_NAME) 
     System.setProperty("sun.net.spi.nameservice.provider.2", "dns,sun") 
     Security.setProperty("networkaddress.cache.ttl", "0") 
     def hostName = "google.com" 
     def ipAddress = "192.168.1.4" 
     NameStore.getInstance().put(hostName, ipAddress) 
     performLookup(hostName) 
     render "done lookup" 
    } 

基本上不管我嘗試的LocalManagedDns沒有被觸發...

回答

2

嘗試在命令行設置-Dsun.net.inetaddr.ttl=0。我記得在某處讀到的問題是,該屬性需要在JVM中的任何其他部分嘗試配置網絡之前進行設置。

編輯:我挖出我記得讀書的來源:https://stackoverflow.com/a/17219327/1446892

+0

感謝增效劑,我一直試圖在Tomcat中附加設置,仍然沒有與它的任何地方獲得。我已經更新了github鏈接,發現了一個簡單的覆蓋方法,但仍未觸發 – Vahid 2015-02-17 09:58:05

+0

希望我給了你賞金。仍然沒有得到它的工作沒有時間。我發現了一個新的角度,從那個鏈接JRE java.security試過了,但沒有成功,但想要嘗試一些變化就放棄了。當我得到一些時間 – Vahid 2015-02-20 20:00:06