Suggested ways to fix this is to set _suspendState to null in TransactionImpl.resume()
Alternative solutions would include unset ConnectionPool._classLoader on all pools of an application when undeploying and calling remove on TransactionManagerImpl._threadTransaction before returning Thread to thread pool (will only cover pooled threads).