The contract for init() and destroy() is unclear:
Can you invoke init() multiple times?
Can you invoke init() .. destroy() .. init() in this order?
This obviously has to be aligned with the Servlet contract.

I have (hopefully) made it threadsafe without locking on the critical code and symmetric. The only thing we can reasonably do is guarantee that we will call init/destroy in that order alone. Maybe multiple times due to service dynamics. If your servlet can not handle it it will have to deal with it accordingly.

Creates lots of threads that asynchronously invoke life cycle methods in httpContextAdded, …Removed, addServletHandler, remove… which causes all kinds of interesting race conditions. I propose we remove all such threads and simply invoke the methods outside of the locked section

Threads are gone! Please have a look. I've put my faith in the weak consistency of the ConcurrentHashMap. I do not think it is bulletproof yet though...

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers

Reply via email to