在Spring Mvc中启动并关闭实例

时间:2014-05-21 06:29:11

标签: spring spring-mvc

我有以下代码

public enum MyInstances {    
    INSTANCE;
    private InstanceClass instance;

    private MyInstances(String param){initTitanGraph(param);}

    private void initTitanGraph(String param){
        instance = SomeFactoryClass.open(param);
    }

    public InstanceClass getInstance(){
      return instance;
    }

    public void destroyInstance(){
      //destroy or close all instances of InstanceClass class
    }
}

现在我想打电话

 MyInstances.INSTANCE.getInstance();

获取instance

 MyInstances.INSTANCE.destroyInstance();

销毁instance

我正在使用spring mvc。如何使用spring mvc注入实现相同的类,以便在应用程序关闭destroyInstance时应该调用,我也可以使用getinstance()在任何地方获取instance

1 个答案:

答案 0 :(得分:1)

除非你定义它,否则没有destroy方法。这没有任何作用。无论你做什么,实际的INSTANCE仍然在记忆中,作为单身人士。

你正在将一个esingleton模式应用于Enum。

jumm将枚举硬编为单例,而不需要程序员的任何额外内容。

使用@Postconstruct@Predestory注释可以实现春季应用程序的启动和停止。