ApplicationContextInitializer

ApplicationContextInitializer

如何清除ApplicationContextInitializer实现中使用的资源?

我创建了一个ApplicationContextInitializer实现,该实现使用Curator项目连接到Zookeeper并获取属性文件。然后,它创建一个Properties实例(一个PropertiesPropertySource)并将其添加到上下文中。

当应用程序关闭时,我希望能够在作为初始化器成员的close()实例上调用CuratorFramework。如何做到最好?

我还可以将CuratorFramework实例传递到上下文中,以便将其用作Bean吗?

最佳答案

我将创建一个获取春季事件的bean,并使用它来关闭策展人,

public class CuratorDisposer implements DisposableBean {
    private CuratorFramework delegate; //set through spring somehow

    public void destroy() {
          delegate.close();
    }
}

09-30 23:58