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