我有一個servlet,它以XML格式響應。必須HTTP客戶端關閉他們的連接
客戶端通過httpsURLConnection與此servlet連接。 如果客戶不打connection.disconnect()
,現在是個問題嗎?
可以遵循這樣的場景:
url = "https://abc.com/ws/servlet?task=login"
openconnection()...
現在客戶端必須張貼的用戶名和密碼,如果成功,他可以張貼像task=getSomeData,...etc
新參數。斷開之前。
對於每個連接,客戶端將變爲新的httpsession。
如果客戶端沒有調用connection.dissconnect(),會話超時後連接是否會自動關閉?如果不是,那麼什麼時候?它會活多久?如果存在sooomany「UNdisconnected」連接,是否對服務器有問題?
UPDATE:樣本客戶
HttpsURLConnection conn = null;
InputStream inputstream = null;
try{
URL url = new URL("https://abc.com/ws/servlet");
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
conn = (HttpsURLConnection)url.openConnection();
conn.setSSLSocketFactory(sslsocketfactory);
inputstream = conn.getInputStream();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(inputstream);
......;
}catch(Exception ex){
ex.printStackTrace();
}
finally{
try {
if(inputstream != null)
inputstream.close();
if(conn != null)
//conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
客戶端設置無超時,在這種情況下,超時將在服務器)使用,如果該客戶端不叫斷開(? Servlet容器連接器超時?但改變這將影響此容器內的所有應用程序。
默認的Tomcat連接器超時時間爲20000 = 2分鐘,這是否意味着,我只能在最大2分鐘內使用我的打開的連接? 2分鐘後會自動斷開?
很多謝謝。
如果它不是一個必須的方法,那麼彙集許多死/空閒(未連接)連接不應該影響服務器的性能?換句話說:我是否必須擔心這些死亡的關係? –
不,游泳池和服務器確實令人擔憂。 – EJP
感謝您的信息 –