從WAR或EJB容器中定義/運行EJB時,EJB的功能是否存在差異?決定一種方法與其他方法相比,有哪些好處與缺點?從WAR運行EJB與獨立EJB容器之間的區別
從WAR中訪問時,我們失去了哪些功能?
在我們的案例中,開發人員想要使用EJB來創建/訪問REST Web服務。
我們的建築師之一在下面提到。由於這個原因,他希望有一個單獨的EJB,將它添加到EAR中,但也可以添加到WAR中作爲REST端點使用。我不希望把它在多個地方
I’d prefer our approach to put transaction/service based code in EJBs to
leverage Container Managed Transactions, JPA, MDB and all the good stuff EJBs
have to offer.
從我所使用EJB作爲REST服務實現閱讀文檔,它說
Add the EJB class to the WEB-INF/classes directory of your WAR file or to a
JAR that is located in your WEB-INF/lib directory. When a client makes a request
to a JAX-RS annotated enterprise bean, the JAX-RS runtime environment looks up
and uses an EJB instance of the class to invoke the resource method.
所以,我想知道,如果我們將EJB放在WAR中 - 就像在WAR的源代碼中創建源代碼一樣,這樣當構建WAR時,該類將被添加到WEB-INF /類中,而不必將相同的ejb jar放在兩個不同的地方它用於什麼 - 作爲REST Web服務端點與其他功能的比較,它能滿足所有需求嗎?或者我將不得不將這個jar放在兩個地方?
我在EJB 3.1中使用Websphere 8.5,如果這會在答案中產生差異。
我的問題更多的是 - 如果我的EJB是WAR,它是否仍然提供EJB設施,如事務,JPA功能等。我認爲它只是想要確認。 – adbdkb
當然。所有相同的服務都可用於EJB-in-WAR。 –