我正在調試一個問題,即對我們的weblogic服務器的調用通常會返回一個新的JSESSIONID值,取代最初發送的JSESSION。在WebLogic上創建調試會話
該問題頻繁發生,但並不一致。 (也就是說,當它影響到你時,它會影響到你的流量的90%)。
我們已經證明這個問題似乎與實際的服務器調用無關,這使得我很難調試任何具體的方法。
有沒有辦法掛鉤到WebLogic中的JSESSION創建,看看是什麼導致會話被創建/銷燬/失效?
附加一個遠程調試器會很好,但我會解決某種形式的日誌記錄,可能會指向正確的方向?
是您的weblogic環境聚集並由Apache或任何其他Web服務器或負載平衡開關前? – JoseK
@JoseK - 是的,顯示問題的環境在兩臺服務器之間有一個Apache服務器平衡。但是,我們驗證了所有調用都是在同一個WebLogic實例 –
上發生的,因爲在過去,當Apache通過WL轉換請求切換請求時,導致用戶獲得新的JSESSIONID。如果你的所有實例都碰到同一個實例,那麼問題在於WL爲什麼不識別JSESSIONID - 所以這些被保留,即在Apache和WL之間傳遞通過可能是一個方面。其次,如果相同的JSESSIONID在20分鐘內或任何會話超時時間內擊中,那麼WL應該已經識別它 - 所以你正確地跟蹤會話被破壞的地方。我想知道是否有明確的代碼session.invalidate()會影響所有。 – JoseK