When webapps are deployed as .war files and the ServletToolboxManager is loaded from a shared location (mine is in shared/lib on Tomcat), the getInstance(ServletContext,String) method always returns the same manager. This is because the call to ServletContext.getRealPath(String) method, whose return value is used as the key into the managersMap, returns null when the webapp is deployed as a jar, per the servlet API. So, all ServletContext's end up getting/putting their managers using the null key into the managersMap .
This is easy to fix. You just need another way to scope the toolbox filename based on the input ServletContext that's guaranteed to return something unique.