我嘗試連接到我的MySQL數據庫,但Class.forname()的正常方式不起作用,因爲OSGI的Class Loader Hirachie。我不知道該怎麼做。如何設置與OSGI的MySQL數據庫連接?
0
A
回答
0
看大同JDBC:https://ops4j1.jira.com/wiki/display/PAXJDBC/MySQL+Driver+Adapter
這將註冊爲MySQL數據庫,然後您可以用它來創建數據源一個DataSourceFactory。請參閱http://www.osgi.org/javadoc/r4v42/org/osgi/service/jdbc/DataSourceFactory.html
我認爲Pax JDBC MySql驅動程序有一些限制,它沒有完全實現規範,所以請仔細閱讀說明。
0
在OSGi中,一個bundle的類加載器只能看到這個bundle在其清單中顯式導入的包。因此,Class.forname不適用於未導入的包。
直接的解決方案是在com.mysql.jdbc包的清單中添加一個Import-Package標頭。如果你試圖加載(例如)com.mysql.jdbc.Driver,它會起作用。
爲JDBC驅動程序添加顯式導入包會導致無需更改導入包頭即可切換驅動程序。爲此,您可以考慮使用DynamicImport-Package:*。這將允許捆綁包在捆綁佈線之後找到類。請注意,在大多數情況下,這絕不應該使用,因爲現在您已經回到了運行時加載類加載異常的可能性,OSGi通常會爲您預防這些異常。在JDBC的情況下,它可以是正確的解決方案。
相關問題
- 1. 如何連接mysql數據庫與android
- 2. 如何在android中設置與遠程數據庫的連接?
- 3. ibm與mysql數據庫的流連接
- 4. 驗證與MySQL數據庫的連接
- 5. MySQL與數據庫的連接
- 6. 與Jython的Mysql數據庫連接
- 7. 如何連接android上傳PHP數據與MySQL數據庫?
- 8. 如何連接到MySQL數據庫?
- 9. Xcode 4.6如何連接Mysql數據庫
- 10. openui5 - 如何連接到MySQL數據庫?
- 11. 如何連接mysql數據庫?
- 12. 如何連接遠程mysql數據庫
- 13. 連接MySQL數據庫與play-framework 2.5
- 14. 與sencha在線mysql數據庫連接?
- 15. 與MySQL數據庫連接失敗
- 16. 連接mysql數據庫與tcl腳本
- 17. 問題與連接到MySQL數據庫
- 18. 連接到MySQL數據庫與C#
- 19. 數據庫連接C#ExecuteNonReader與MySql
- 20. Laravel:設置數據庫連接的時間戳laravel mysql
- 21. OSGI應該如何處理數據庫連接失敗?
- 22. 如何使用RedBean檢查與MySQL數據庫的連接?
- 23. Java設置連接數據庫
- 24. 爲模型設置數據庫連接?
- 25. PHP - MySQL數據庫連接
- 26. Asp.net mysql數據庫連接
- 27. Mysql數據庫未連接
- 28. Netbeans MySql數據庫連接
- 29. 連接到MySQL數據庫
- 30. Laravel/MySQL數據庫連接
請閱讀:http://www.liquid-reality.de/display/liquid/2012/01/13/Apache+Karaf+Tutorial+Part+6+-+Database+Access – Namphibian