我正在開發一個媒體應用程序,用戶應該能夠在運行時從中央數據庫動態加載工具。這些將主要需要是用於處理音頻和視頻的信號處理模塊。我一直在閱讀有關實現自定義類加載器的內容,但似乎必須知道類的名稱才能使用classLoader。這對我來說並不合適。我希望能夠在應用程序部署完成後構建這些模塊(並可能爲其創建開放一個公共API)。使用接口名稱將jar添加到java應用程序
我想需要的模塊來擴展實現接口的抽象類:
public abstract class AbstractModule implements myInterface{
//....
}
我還沒有知道這些模塊的作者將其命名爲子類中的任何方式..
我已經讀了一些關於osgi的包,看起來很有希望......但是我明顯不想重新設計我的整個架構......是否有可能讓我的應用程序的這部分使用Osgi包?我的感覺不是,因爲看起來Osgi捆綁包需要自己的容器運行。
無論如何,什麼是最好的,最不危險的,最穩定的方式來讓我的applcation動態加載模塊。模塊需要某種標準化(如擴展抽象類)。
謝謝
我一直在閱讀這份文件,就像你說的那樣聽起來很美。你能否詳細說明容器的選擇會有何不同?我正在編寫一個多層的java-ee應用程序。 Osgi將不得不運行在通過glassfishes javaws服務部署的ACC中運行的應用程序客戶端(或者可能與其一起)。在快速瀏覽這篇文章之後,它似乎就像實例化一個Felix對象一樣簡單。對不起,我需要了解更多關於osgi是如何工作的(特別是它與容器環境的交互)在下面的鏈接中發佈鏈接 – b3bop 2012-01-05 18:52:09
http://felix.apache.org/site/apache-felix-framework-launching-and-embedding .html#ApacheFelixFrameworkLaunchingandEmbedding嵌入 – b3bop 2012-01-05 18:52:41
我添加了一些細節到我的答案。如果你能詳細闡述你的客戶,我可以更多地縮小選擇的範圍。 – Perception 2012-01-05 19:07:55