2
有誰知道用PostConstruct註釋的方法中實例字段的初始化是否被認爲是線程安全的?我不太確定,如果我必須使我的ApplicationScoped bean的字段變得不穩定或不是,所以其他線程可以真正看到這些值...CDI postconstruct初始化字段
感謝您的任何提示或答案!
有誰知道用PostConstruct註釋的方法中實例字段的初始化是否被認爲是線程安全的?我不太確定,如果我必須使我的ApplicationScoped bean的字段變得不穩定或不是,所以其他線程可以真正看到這些值...CDI postconstruct初始化字段
感謝您的任何提示或答案!
我沒有直接引用規範,絕對保證這一點,但@PostConstruct
應該是線程安全的。
CDI運行時完全負責創建bean,並且只會爲給定範圍創建一個實例。 @PostConstruct
在這個範圍內或通過注入訪問bean之前運行。
謝謝你,如果你能肯定地告訴我,會更好,因爲從JMM的角度來看,我認爲如果沒有記憶障礙,我必須讓它們變得不穩定。 –
你會想,但是在CDI初始化bean之前,其他線程可能甚至不會獲得對實例的引用。在併發請求一個bean的情況下,我敢肯定所有的線程都停留在假設的'beanManager.getBean(...)'調用上。 –
謝謝,這當然是唯一有意義的行爲,但我很想知道它,而不必閱讀規範。 ;) –