2008-09-26 77 views
0

我們有一個無狀態的EJB位於Web服務(EJB3)的後面,此EJB還加載了一個EntityManager,它在調用時傳入。有了這個我有一個問題。無狀態EJB問題

對Web服務的同時調用是使用相同的EJB還是存在不同的實例?我特別關心使用注入的EntityManager。

謝謝

回答

3

是由應用服務器使用相同還是不同。你可能會認爲它們不同。

現在,如果你注入它,我假設你已經聲明它是一個實例變量,這對於無狀態EJB來說是一個非常糟糕的主意,因爲很好。它不應該有狀態。

而不是注入EntityManager,讓應用程序服務器完成它的工作,然後從上下文中取出它。來自無狀態的每個方法調用都屬於一個事務,並且不會干擾其他調用。

總結:假設它們是不同的實例,並且不注入你自己的那些類型的對象。從應用程序服務器負責的上下文中將它們留下。

我希望我已經正確理解你的問題。