我想知道CDI是否有一些方法来处理/关闭@Disposes
方法以外的对象?
对于简单的情况,我想这样做:
class MyObject {
@Inject MyObject(MyDependencies...) {...}
@Disposes void close() {...}
}
而不是像这样在别处创建@Disposes
方法来调用close()
:
class MyObjectManager {
void closeMyObject(@Disposes MyObject myObject) {
myObject.close();
}
}
我想你要找的是@PreDestroy
。当对象所绑定的上下文关闭时,将调用此方法。用this注释一个方法,当对象要被销毁时,该方法将被调用。