public void Dispose() { if (beanContext == null) { return; } IServiceContext rootContext = beanContext.GetRoot(); beanContext.GetService <IThreadLocalCleanupController>().CleanupThreadLocal(); rootContext.Dispose(); beanContext = null; ImmutableTypeSet.FlushState(); }