You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@xml.apache.org by "Bono, Chris" <ch...@zilliant.com> on 2001/11/01 17:57:11 UTC

threading issues when caching providers

I just came across a problem with the current apache soap 
implementation when attempting to cache a Provider. 
The current path for a request to a provider is 
Provider.locate() then Provider.invoke(). The problem was that 
certain objects are passed into locate() that are not passed into
invoke() and it is up to the Provider to cache those needed objects.
Consider this call stack:
T1 - doPost()-> provider.locate()  save away call obj c1
T2 - doPost()-> provider.locate()  save away call obj c2
T1 - provider.invoke() invoke on call obj2 (WRONG!!!!)

Since the whole model seems to be no thread safety, why would
the implementors require state to be saved between two methods?

Chris Bono
bonoc@zilliant.com
512.531.8518
http://www.zilliant.com