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
总是被设置为最新的线程初始化认证)工作。
如果任何人有任何想法,即使是黑客现在也会做,我真的很感激,因为目前唯一的'整洁'解决方案是在主执行方法上放置一个,性能。