[英]Inject stateful EJB beans in a maven project
我不明白我希望你們中的某人能向我解釋的一件事。 我有一個用glassfish開發的Maven企業項目。
我使用插入代碼netbeans函數(右鍵單擊)來調用servlet中的bean,尤其是注釋
@EJB
我不明白為什么當我通過netbeans中的插入代碼功能調用有狀態會話bean時,是通過JNDI調用bean的原因。 這是我的意思
private BookingBeanInterface lookupBookingBeanLocal() {
try {
Context c = new InitialContext();
return (BookingBeanInterface) c.lookup("java:global/it.volaconnoi_volaconnoi-webapp-ear_ear_1.0-SNAPSHOT/it.volaconnoi_volaconnoi-webapp-ejb_ejb_1.0-SNAPSHOT/BookingBean!it.volaconnoi.logic.BookingBeanInterface");
} catch (NamingException ne) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
throw new RuntimeException(ne);
}
}`
上面的功能還不是我寫的
我無法通過EJB注入有狀態會話bean?
這是解決問題的方法:
您可能已經知道單個Servlet實例用於處理來自多個客戶端的多個請求,因此有狀態EJB不應直接注入Servlet中並作為實例屬性保存,否則我們將面臨與線程安全相關的明顯問題。 在我們的例子中,我們是從doGet方法中的JNDI獲取它並將其存儲在HTTP會話中的,這樣每個用戶都將擁有它自己的Sateful EJB實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.