2012-03-11 52 views
4

我工作最多的遺留項目,我發現這條線ctx.lookup("datasource");許多次。根據我在初始上下文中遇到的用法,它用於在webserver/appserver中獲取綁定了某個名稱的java對象。瞭解Java中InitialContext的實際用法?

  • 例如,我們創建數據源通的WebLogic管理控制檯,然後我們就可以在java程序programmaticaly使用該對象與ctx.lookup(「數據源」)。如果我沒有記錯,我在EJB實現過程中也看到了這種代碼,這個代碼也是某些在服務器本身中綁定了某個名稱的對象。

Java文檔表示當初始上下文構造,它的環境與在傳遞給構造的環境參數定義的屬性進行初始化。所以可能是我前面提到的用法,初始上下文是用環境參數構建的(這可能意味着管理員在服務器中創建的對象,如數據源,連接池(如果有的話))。這是我可以將初始上下文聯繫起來的一種用法。

請讓我知道它是否正確並正確使用了初始上下文類?

基本上用初始上下文,我們可以綁定/查找具有相同名稱的java對象。在webserver/appserver的情況下,數據源,連接池等對象可能會在啓動時被服務器綁定,我們可以直接查找它們嗎?

回答

2

這看起來像正確使用上下文類。在較新的EJB實現中,您還可以使用@EJB@PersistenceContext註釋。有關更深入的瞭解,請閱讀有關Dependency Injection的維基百科文章。