Hello all, After some hours spent on this OSGi testing I can say the base use case, as explained by Marshall at [1], where OSGi packaging of an annotator is run standalone in Felix is ok. Other use cases where the current configuration is not working are: 1) a bundleX is defining one of the (OSGi) annotators as dependency and trying to create an AnalysisEngine (i.e.: UIMAFramework.produceAnalysisEngine(desc); ) as org.apache.uima.* is not exported. 2) a bundleX is defining both uimaj-ep-runtime and one of the (OSGi) annotators as dependencies and trying to create an AnalysisEngine. I am now testing other possibilities like wrapping everything needed to run a custom UIMA pipeline in one 'big' bundle but I'm pretty sure this will work. I am also inspecting using the ResourceManager extensionClassPath (no change to code) or one typical OSGi 'alternative' for Class.forName method (Thread.currentThread().getContextClassLoader(), requires change in PrimitiveAnalysisEngine_Impl at least) but I am still experimenting. At this point I think we have 3 options: 1 - release things as they are now in addons and improve them along time 2 - don't release the OSGi packaging until there is a better/full support for OSGi in UIMA 3 - put back the OSGi stuff in the sandbox and make a separate release marked as alpha or something similar I'd be happiest with 1, quite happy with 3 and not so happy with 2 but I'd like to hear what do others think. Regards, Tommaso
[1] : http://uima.apache.org/staging/osgi.html 2011/8/17 Tommaso Teofili <[email protected]> > After re doing the tests within Felix with the updated trunk I confirm the > issue with versions was solved :) > I am doing some more tests now to check the current configuration makes it > possible to run the annotators flawlessly (this is especially important for > possible classloading issues). > I'll detail which configurations are proved to work (i.e.: bundleA using > annotatorX and bundleB using bundleA) and which are not (if any). > Tommaso > > > > 2011/8/16 Tommaso Teofili <[email protected]> > >> Thanks Marshall, will let you know how it goes. >> Tommaso >> >> >> 2011/8/16 Marshall Schor <[email protected]> >> >>> The OSGi build has been redone with an approximation to the version >>> information. >>> >>> The maven-bundle-plugin version was reset back to 2.1.0, which adds a >>> version >>> number for all packages in the export list. This approach is not in line >>> with >>> the OSGi model, which wants each "package" to have its own version, but >>> it is >>> probably enough to get going. >>> >>> Tommaso, it would be good if you could update from trunk and rebuild the >>> OSGi >>> plugins and retest. >>> >>> -Marshall >>> >>> On 8/15/2011 10:21 AM, Marshall Schor wrote: >>> > Tommaso has done some testing, and found that the MANIFEST files don't >>> contain >>> > the versions exported so that other bundles (the ones 'using' the >>> annotators) >>> > which declare to import packages of a certain version cannot be started >>> > correctly even if the annotator bundle was correctly started: >>> > ... >>> > [ 128] [Active ] [ 5] UIMA Annotator: AlchemyAPIAnnotator >>> (2.3.1.SNAPSHOT) >>> > [ 129] [Active ] [ 5] UIMA Annotator: OpenCalaisAnnotator >>> (2.3.1.SNAPSHOT) >>> > [ 131] [Active ] [ 5] Clerezza - Apache UIMA related ontologies >>> > (0.1.0.incubating-SNAPSHOT) >>> > [ 132] [Active ] [ 5] UIMA Eclipse: uimaj-ep-runtime (2.3.1) >>> > ... >>> > start >>> file:/Users/tommaso/Documents/uima.utils-0.1-incubating-SNAPSHOT.jar >>> > org.osgi.framework.BundleException: Unresolved constraint in bundle >>> > org.apache.clerezza.uima.utils [135]: Unable to resolve 135.0: missing >>> > requirement [135.0] package; >>> > (&(package=org.apache.uima.alchemy.ts.categorization)(version>=2.3.0)) >>> > >>> > If I run 'inspect package capability <bundleid>' for >>> OpenCalaisAnnotator I get: >>> > inspect package capability 129 >>> > org.apache.uima.OpenCalaisAnnotator [129] exports packages: >>> > ----------------------------------------------------------- >>> > org.apache.uima.annotator.calais; version=0.0.0 >>> > org.apache.uima.calais; version=0.0.0 >>> > >>> > -Marshall (copying part of note from Tommaso) >>> > >>> >> >> >
