4
目前我正與Sun的java.net.Authenticator
類的錯誤掙扎。看來Authenticator
類具有全系統靜態Authenticator
。這在我的多線程應用程序中導致以下問題。Java的WS驗證器在多線程環境
- 線程1 - 進行身份驗證對用戶1
- 線程2 - 進行身份驗證對用戶2
- 線程1 - 執行代碼,以下載郵件用戶1
在這點上,系統將獲得用戶2的消息,而不是消息用戶1
我試圖尋找解決的辦法。許多建議嘗試以下代碼:
AuthCacheValue.setAuthCache(new AuthCacheImpl());
Authenticator.setDefault(exchangeAuthenticator);
然而,這不適合我,因爲我的應用程序是多線程(exchangeAuthenticator
總是被設置爲最新的線程初始化認證)工作。
如果任何人有任何想法,即使是黑客現在也會做,我真的很感激,因爲目前唯一的'整潔'解決方案是在主執行方法上放置一個,性能。