如何使用Spring的SimpleNamingContextBuilder
作爲JNDI提供程序知道要在其目錄中搜索資源的應用程序?什麼將應用程序鏈接到Spring命名目錄?例如,在早期的answer中的JndiObjectFactoryBean
bean如何知道在Spring目錄中找到資源my-db
? JndiObjectFactoryBean
是否需要一個上下文環境,並將屬性java.naming.factory.initial
設置爲接口InitialContextFactory
的某些實現?當使用SimpleNamingContextBuilder
作爲JNDI提供者時,java.naming.factory.initial
的值應該是多少?如何知道使用Spring的SimpleNamingContextBuilder來搜索其目錄中的資源?
6
A
回答
8
Java運行時類NamingManager
充當Java應用程序與其命名目錄之間的鏈接。當一個SimpleNamingContextBuilder
activates,它將自己安裝到NamingManager
的靜態成員InitialContextFactoryBuilder
。當應用程序創建InitialContext
以檢索JNDI上下文時,類InitialContext
將代表指定給NamingManager,然後請求IntialContextFactoryBuilder
(在此例中爲SimpleNamingContextBuilder
)創建IntialContextFactory
,最終創建InitialContext
。
JndiObjectFactoryBean
因爲SimpleNamingContextBuilder
提供InitialContextFactory
到NamingManager
和JndiObjectFactoryBean
使用NamingManager
檢索其資源並不需要一個明確的上下文環境。因此,在之前的回答中,JndiObjectFactoryBean
「知道」要在Spring命名目錄中搜索資源my-db
,因爲SimpleNamingContextBuilder
已將自己建立爲NamingManager
中的JNDI提供程序。
13
簡而言之,如果想在單元測試中用模擬InitialContext模擬JNDI樹,可以使用SimpleNamingContextBuilder。我在測試的啓動方法中實例化了SimpleNamingContextBuildeit,併成功創建了一個內存中的InitialContext。 例如在彈簧測試類..
@BeforeClass
public static void setupJndi() throws Exception {
SimpleNamingContextBuilder.emptyActivatedContextBuilder();
Context context = new InitialContext();
context.bind("java:comp/env/jms/ConnectionFactory",myJmsConnectionFactory);
}
相關問題
- 1. Spring的SimpleNamingContextBuilder和LDAP
- 2. 如何知道Aurelia中valueChanged的來源?
- 3. gdb搜索源目錄
- 4. Google Analytics如何知道HTTPS入站自然搜索流量的來源?
- 5. 如何知道項目的lib目錄?
- 6. 如何從spring applicationContext到達其他項目的資源?
- 7. 如何使用Jetty訪問我的WAR目錄中的資源?
- 8. 如何獲取maven中的資源目錄以便使用?
- 9. 如何知道我在使用BFS(廣度優先搜索)的搜索級別?
- 10. 使用Spring AspectJ登錄REST資源URL
- 11. 如何用TFS團隊資源管理器搜索項目?
- 12. 引用來自c#中其他資源的嵌入式資源
- 13. 如何搜索包含未知目錄的文件並將其刪除?
- 14. 我可以使用額外的目錄來分組Android資源
- 15. 如何使用$ _SERVER知道您的網站的根目錄?
- 16. 如何搜索目錄IOS
- 17. Grails Facebook使用spring安全登錄 - 如何知道登錄的用戶名
- 18. 如何訪問Spring Security的登錄頁面中的資源包?
- 19. 如何使用perl搜索目錄中的文件夾
- 20. 在資源管理器和你的應用程序之間,如何知道你的應用程序目錄?
- 21. 如何下載Java項目的資源目錄中的文件
- 22. 如何指定搜索目錄的源代碼構建
- 23. 文件搜索使用php的目錄
- 24. 使用Spring HATEOAS構建一個模板化的搜索資源uri
- 25. 知道用戶搜索谷歌來到我的網站
- 26. 來自其他項目的來源文件,其中來源
- 27. 檢索其他類中的imageview資源
- 28. 用戶頻道/未知子資源
- 29. 無法使用的findAll()來搜索子目錄
- 30. '使用'如何知道從哪裏開始搜索文件?
很好的例子!這說明了我的觀點,即當你激活一個'SimpleNamingContextBuilder'時,它將自己安裝爲默認的JNDI上下文。 – 2011-04-19 18:02:12