2011-07-21 22 views
1

最近出現了一個非常奇怪的問題,在獨立的RedHat 5/Tomcat 6服務器上運行兩個傳統的Struts應用程序。一些簡要細節:內容類型突然失蹤

  • 應用1是前置應用
  • 應用2是輔助應用程序,它作爲一個文件儲存庫系統
  • 應用1具有轉發到應用程序2
  • 上傳表單
  • 應用2預計在上傳時

上傳將正常工作了一段時間,但會一下子失敗multipart/form-dataContent-Type的一部分。當我查看日誌時,App 2報告缺少Content-Type,因此無法處理上傳請求。此外,一旦失蹤,它不會再出現。上傳所有試圖從該點向前失敗,什麼是更奇怪的是,爲了彌補這個問題的唯一辦法就是重新啓動Tomcat託管應用程序1,不應用2.

其他怪異

  • 實現了上傳功能代碼改變了一年多
  • 使用Wireshark的(tshark的)嗅探TCP數據包
    • 的Content-Type的正確填充的HTTP請求從應用1發送
    • 雖然Wireshark的報告惡意數據包,內容類型是存在於HTTP請求的應用2接收

任何想法,爲什麼這可能正在發生?

回答

0

我會懷疑App1上存在某種狀態變化,導致它不再在App2的請求中使用Content-Type標頭。沒有看到代碼,任何人都可以告訴你。

+1

你能否詳細說明你的狀態改變是什麼意思? – John

+0

當然,我的意思是說,有一些變量或邏輯在多個請求中持久存在,這會導致Content-Type頭在設置爲特定值(或可能未設置)後丟失。 http://en.wikipedia.org/wiki/Program_state –