java:comp/env
和java:global
(關於3.1規格)之間的關係是什麼?
看起來像java:comp/env
包含特定於EJB引用。 這種情況下,「具體」是什麼意思?java:comp/env和java:global之間的關係是什麼?
22
A
回答
40
java:global
是整個應用程序服務器的全局命名空間,其中包括其他EAR模塊(被認爲是不同的應用程序)。
java:comp/env
是一個多較小的命名空間。對於Web模塊,它對應於所有的Web組件(Servlet等),這些組件都被認爲是JNDI的單個「組件」,但對於EJB Bean,它是單個Bean的名稱空間,因爲每個bean都被認爲是單獨的組件。
還有一個java:app
和一個java:module
,其範圍介於全球和比較。
java:comp/env
和其他的區別很大,前者在運行時是嚴格只讀的,並且包含注入某個組件的bean。所以例如考慮:
@Stateless
public class ExampleBean {
@EJB
OtherBean testBean;
}
在這種情況下,也可以從java:comp/env
獲得該注入字段testBean
的特定代理,但只有當java:comp/env
從內叫exampleBean引用(JNDI是高度上下文)。
如果您希望獲得與EJB OtherBean
不同的代理服務器,或者在沒有完成注入時想要引用,則可以從其他任何示波器中獲取這些代理。根據您正在從事的JNDI調用的哪個類,您可以使用較小的作用域。
例如,如果OtherBean
是在同一模塊中定義爲ExampleBean
,你可以使用java:module
,如果是同一個應用程序(但可能不同的模塊),你可以使用java:app
。
最後,java:global
總是安全使用,因爲它不依賴於上下文。這意味着您可以從例如一個非管理完全獨立的線程。使用java:global
的缺點是,如果使用EAR,則必須包含應用程序名稱和模塊名稱,否則至少應包含模塊名稱。
相關問題
- 1. C++和Ruby之間的關係和依賴關係是什麼?
- 2. dup()和close()系統調用之間的關係是什麼?
- 3. 什麼是系統類和PrintStream類之間的關係
- 4. using關鍵字和IDisposable接口之間的關係是什麼?
- 5. JLS,Java和相關技術之間的關係是什麼?
- 6. 負載和響應時間之間的關係是什麼?
- 7. JSDoc:模塊和名稱空間之間的關係是什麼
- 8. SIGTSTP和SIGCHLD之間有什麼關係
- 9. PyTorch和Torch之間有什麼關係?
- 10. IRimTable和PersistenceStore之間有什麼關係?
- 11. foreach和IEnumerable之間有什麼關係?
- 12. STL和stdlib之間有什麼關係
- 13. tsconfig.json和gulp.js之間有什麼關係?
- 14. '@ 1'和'@ 2'之間有什麼關係
- 15. SelectListItem和SelectList之間有什麼關係
- 16. document.write()和AJAX之間有什麼關係?
- 17. seneca和redis之間有什麼關係
- 18. streamjs和linqjs之間有什麼關係
- 19. MariaDB和MySQL之間有什麼關係?
- 20. __getattr__和getattr之間有什麼關係?
- 21. uniform sampler2D和GL_TEXTURE [NUM]和glGenTexture之間的關係是什麼?
- 22. MIDP和JME(和Android)之間的關係是什麼?
- 23. virtualenvwrapper中的環境和項目之間的關係是什麼?
- 24. 什麼是SPID和SQL Server的連接之間的關係?
- 25. 什麼是Facebook的ID和位置之間的關係?
- 26. 什麼是Lisp的向量和列表之間的關係?
- 27. Android中的Java和XML之間的關係是什麼?
- 28. UIView的setNeedsLayout,layoutIfNeeded和layoutSubviews之間的關係是什麼?
- 29. java中的包和jar文件之間的關係是什麼?
- 30. Javascript中的「new」和「prototype.constructor」之間的關係是什麼?