當我剛開始在OSGi的樣子,我的印象是,你可以只建立一個JAR和,只要它有一個清單文件,你可以在一個OSGi容器部署下。我想像一個經典的方式構建我的模塊(maven),也許使用某種插件或類似的東西來編寫清單,然後我可以讓我的模塊基本上是一個獨立的應用程序,通過OSGi與其他模塊進行通信。的OSGi模塊/捆綁粒度
進一步閱讀關於OSGi,我開始看到一個更低水平正在使用它的更多的例子,基本上取代依賴注入和如日誌提供橫切關注點服務。似乎使用諸如hibernate或其他的東西,是一個問題...(或者我只是錯過了一些東西)。
至少對我而言,我並沒有真正看到如此精細的模塊化和整合到OSGi的水平,我寧願有一個單獨的模塊,每個模塊都有自己的一套技術和框架,以及可能的Web資源和持久層。這是OSGi可以實現的嗎?如果是的話,你能指出我正確的方向,例子等嗎?
編輯,加入我如何嘗試使用OSGi的一些細節:
我只是設想有一個以上級模塊的可能性,這可能有一個更higher-層級責任。
好比說議程模塊。在這種情況下,我希望擁有諸如事件的持久性,添加事件,使用過濾器列出事件等等。 此議程可能有幾個內部類,甚至可能需要持久層。所以我想用Guice這樣的東西去DI這些類,還有一些JPA來堅持我的數據。
我能理解一些X切關注像服務器或記錄可以有一個包,但數據模型是特定議程束。所以我認爲我的問題到底是什麼?什麼是不可能在捆綁內做的?作爲一種慣例,應該做什麼和不應該做什麼?
謝謝! 毛
因此,如果我使用OSGi就緒框架(guice?),我可以繼續使用它們在我的包內? – Mauricio 2013-03-04 16:26:06
是的,這將起作用然而,我的(相當廣泛的)經驗是,當你編寫像Spring這樣的非常模塊化的代碼框架時,Guice等往往會失去其主要價值,因爲問題變得如此之小以至於這些框架感覺相當超重。一個好的包是一致的,然後你通常不需要這些框架的開銷。然而,在OSGi世界中沒有任何東西禁止你加入這個重量:-) – 2013-03-04 17:42:03