我想在我的OSGi容器中添加一個BundleWatcher鉤子,以便可以在加載時監視束。我曾在config.ini文件中進行以下更改,添加Equinox OSGI鉤投擲ClassNotFoundException
添加到我的osgi.bundles財產像這樣, osgi.bundles =,參考\罐子的引用:文件\:../ LIB/[email protected]:啓動
設置屬性osgi.framework.extensions = mybundle
添加MyBundleWatcher爲鉤osgi.hook.configurators.include
另外我的jar文件和OSGi包在同一個目錄下。
當我運行我的應用程序時,我的BundleWatcher出現ClassNotFoundException異常。
但是我可以確認,我的包(其中包含BundleWatcher)確實是在調用我的包中激活器的啓動方法時啓動的。
我在做什麼錯?
這裏作爲背景有一對夫婦的文章中,我緊隨其後,
http://wiki.eclipse.org/index.php/Adaptor_Hooks
http://eclipsesource.com/blogs/2013/01/23/how-to-track-lifecycle-changes-of-osgi-bundles/
我在我的情況,我猜確定使用某些特定的equinox。我的目標是首先啓動我的插件,以便監控其他插件的加載情況。 BundleTracker似乎無法做到這一點BundleWatcher可以。 –
這不是事實。 BundleTracker會收到關於它感興趣的所有捆綁包的狀態的通知,包括在它之前開始的那些和在它之後開始的那些捆綁包。使用Equinox特定的BundleWatcher有沒有**優點。 –