我想用戶艾斯波OSGi框架內,但我不知道內OSGi的類加載機制怎麼會允許我需要什麼來實現,甚至如何艾斯波可以在OSGi的,因爲它被使用。OSGi框架內使用艾斯波
我使用艾斯波5.3並且在束檢查體現它不使用OSGi的Dynamic-Import
頭。 Esper的核心是我所理解的是在POJO上運行的SQL查詢的EPStatements。
我很難理解的是,Esper捆綁包如何不使用動態導入,並且不知道將來可能針對哪些POJO進行操作,從而獲得對它們的訪問權限。
例如,如果我試圖創建EPStatement:
select * com.example.Pojo
如果該類com.example.Pojo是另一束給艾斯波核心,然後Pojo
可以裝載的唯一途徑是通過使用其 ClassLoader。這可以這樣做:
Thread.currentThread().setContextClassLoader(com.example.Pojo.class.getClassLoader);
但不這只是加載Pojo
到含有POJO的本身捆綁的種類空間? Esper捆綁包如何獲得它的訪問權限,因爲它在創建上述示例EPStatement時將需要。
感謝您的建議。我還嘗試通過創建一個單獨的包來加載類。它通過一個服務(我的定義)添加到系統中的新類被通知並且切換到加載程序到提供POJO的包的類。加載程序包導入所有Esper導出,因此我可以通過這種方式創建語句。我只需要在我自己的腦海中澄清一下,如果以這種方式加載,類就可以從等等中看到。 – Kerry