[英]Derby Network Server - Accept connections from multiple hosts - derby.drda.host
德比文檔說
derby.drda.host=主機名
該屬性偵聽主機的網絡連接,即接受來自它們的連接。 如果指定了 0.0.0.0,則接受來自任何主機的連接。
現在,我有三台遠程計算機, hostA
, hostB
, hostC
。
hostA
上運行。hostA
、 hostB
、 hostC
所以,我寫了
props.setProperty("derby.drda.host", "hostA hostB hostC");
但是,這不起作用。 還有其他方法嗎?
編輯:
當我將屬性設置為
props.setProperty("derby.drda.host" , "hostA");
然后hostB
和hostC
無法連接到服務器。 他們得到以下例外
java.sql.SQLNonTransientConnectionException:java.net.ConnectException:連接到端口 8,888 上的服務器 hostA 時出錯,消息連接被拒絕:連接。
但是,當我將屬性設置為
props.setProperty("derby.drda.host" , "0.0.0.0");
然后所有主機( hostA
、 hostB
、 hostC
)都能夠連接到服務器。
我相信你誤解了這個屬性的用途。 如果您有多個網絡接口,這樣您就可以告訴 Derby 在服務器的哪個 IP 上接受連接。 (很多服務器有多個網卡,或者同時連接到多個網絡,因此有多個IP)。
默認設置0.0.0.0
意味着它應該接受在任何服務器 IP-s 上請求的任何連接。 如果您將此值設置為0.0.0.0
以外的值,它將只偵聽針對該 IP 的連接。
這並不限制根據其IP的客戶端連接。
我相信你需要有以下設置:
System.setProperty("derby.drda.startNetworkServer", "true");
為了將 Derby 作為網絡服務器啟動(而不僅僅是在 JVM 中運行它,因為我相信默認行為是這樣)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.