0
假设MyDialog
延伸javax.swing.JDialog
。考虑以下代码:我是否需要明确发布使用CDI创建的上下文JDialog?
MyDialog dialog = CDI.current().select(MyDialog.class).get();
dialog.setVisible(true);
dialog.dispose();
问题:
- 是否需要显式释放
dialog
与CDI或者上面的代码已经是罚款?如果是这样,我需要打电话给哪一类CDI? (考虑到用户关闭对话框后,我不需要它在附近) - 根据代码,哪个上下文是
dialog
生活在?
即使您可能已经在您的评论中回答我的问题,无论如何我会问你这个愚蠢的问题,只是为了确保:即使'MyDialog'具有@依赖范围,并且我显示的代码在方法内部执行使用寿命短,我是否仍然需要通过调用'CDI.current()。destroy(dialog)'来释放bean? – Marcos
我认为这取决于CDI的实施是否会造成某种泄漏。在我的一个应用程序中,我也没有在没有意识到的情况下释放bean,它从来没有造成任何问题。 – chkal