I've made a bit of progress with this. I went through making sure that various things that looked suspicious are tidied up on shutdown.One of the issues I'm up against now is an Axis problem [1] which wasn't fixed until 1.5 [2]. The Axis listener manager shoudown hook isn't removed on stop. It has a link right through to the anonymous class (TuscanyServletFilter$1) that is created to represent the ServletConfig by TuscanyServletFilter. This anonymous class will be linked straight back to the web app classloader and hence it's problematic.
Anyone any ideas about how to break this link between the application shutdown hook and the servlet config without upgrading to axis 1.5? Regards Simon [1] https://issues.apache.org/jira/browse/AXIS2-3732 [2] http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/ListenerManager.java?r1=724507&r2=726705&pathrev=726705
