在CDI中处理对象

时间:2014-08-12 06:10:57

标签: java-ee cdi

我想知道CDI是否有办法处理/关闭@Disposes方法以外的对象?

对于简单的情况,我想做类似的事情:

class MyObject {

    @Inject MyObject(MyDependencies...) {...}

    @Disposes void close() {...}
}

而不是必须在其他位置创建@Disposes方法,只需像这样调用close()

class MyObjectManager {

    void closeMyObject(@Disposes MyObject myObject) {
        myObject.close();
    }
}

1 个答案:

答案 0 :(得分:3)

我认为你要找的是@PreDestroy。当关闭对象所关联的任何上下文时,将调用此方法。使用this注释一个方法,只要该对象被销毁,就会调用该方法。