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)
>>> >
>>>
>>
>>
>

Reply via email to