有人能告訴我什麼時候在web應用程序中使用Thread.currentThread().getContextClassLoader()
。請給我提供一些真實生活的例子。請不要將它標記爲重複的問題(我的問題是何時使用Thread.currentThread()。getContextClassLoader(),而不是用於加載屬性文件)。我經歷了很多網站,但沒有得到正確的答案。什麼時候在web應用程序中使用Thread.currentThread()。getContextClassLoader()
1
A
回答
2
首先,請注意,這種方法不是Java EE
相關的東西,它是Java SE
的一種方法,所以它不是僅用於Web應用程序,而是可能用於任何Java應用程序的東西。
我們通常使用此方法與Thread.currentThread().setContextClassLoader(ClassLoader)
以檢查和/或更改調用線程的上下文ClassLoader
。
所以,通常我們說,你正在寫一個Java應用程序,將需要一個定製ClassLoader
,從特定的文件夾和/或jar文件加載類,其中最初沒有在類路徑中,你可以使用這些方法來改變背景ClassLoader
的並恢復以前的CL。這將允許您的代碼訪問那些以前不能從當前上下文CL訪問的類,因爲它們最初不在類路徑中。
因此,這裏是你的代碼會是什麼樣子:
// The previous context ClassLoader
final ClassLoader contextCL = Thread.currentThread().getContextClassLoader();
try {
// Set my custom ClassLoader to make my classes accessible
Thread.currentThread().setContextClassLoader(myCustomCL);
// Execute some code here that will be able to access to classes or resources from
// my specific folders and/or jar files
} finally {
// Restore the previous CL
Thread.currentThread().setContextClassLoader(contextCL);
}
相關問題
- 1. 瞭解Thread.currentThread()。getContextClassLoader()。getResourceAsStream()
- 2. 當Thread.currentThread()。getContextClassLoader()返回null時,發生了什麼?
- 3. 什麼時候應該在Web應用程序中使用空數組?
- 4. Thread.currentThread()。getContextClassLoader()。getResourceAsStream()返回null
- 5. 什麼時候應該在WPF應用程序中使用PixelFormats.Pbgra32?
- 6. 什麼時候在Web應用程序中使用委託類型有用
- 7. 什麼時候在Web應用程序中使用Actor是合理的
- 8. 什麼時候應用程序會在iPhone 5中使用letterbox?
- 9. 什麼時候應該使用多層Web應用程序而不是單層Web應用程序?
- 10. 什麼時候應該使用AWS,什麼時候不使用
- 11. 什麼時候應該使用邏輯應用程序而不是Web作業?
- 12. 什麼時候應該使用async/await,什麼時候不用?
- 13. 什麼時候需要在Tkinter應用程序中調用mainloop?
- 14. 什麼時候在應用程序中調用OnResult? (ResultCallback)
- 15. Thread.currentThread()。getContextClassLoader()返回多個對象實例
- 16. 什麼時候應該在我們的android應用程序中使用db.close()?
- 17. 什麼時候應該在asp.net mvc應用程序中使用HttpDelete或HttpPut
- 18. 什麼時候應該使用sed,什麼時候應該使用awk
- 19. 什麼時候應該使用memcpy,什麼時候應該使用memmove?
- 20. 什麼時候應該使用Import-Package,什麼時候應該使用Require-Bundle?
- 21. 什麼時候應該在應用程序啓動時使用setServletContext.setAttribute()? (Spring mvc)
- 22. 什麼時候XML解析在iPhone應用程序中完成?
- 23. 什麼時候應該使用PostgreSQL中
- 24. 什麼時候PHP Web應用程序變得太大,一般的Web主機
- 25. 什麼時候應該在Android應用程序中使用片段?爲什麼要使用碎片?
- 26. 什麼時候我的應用程序的過程中死去
- 27. 什麼時候應該使用UdpClient.BeginReceive?什麼時候應該在後臺線程上使用UdpClient.Receive?
- 28. 爲什麼在使用JSF Web應用程序時需要beans.xml?
- 29. 什麼時候適合在Rails應用程序中使用自定義類?
- 30. 什麼時候使用__proto__和什麼時候使用原型