Hi Tommaso Without knowing about the details I'm wondering if this extension class loader defined when instantiating the UIMA framework cannot be the Bundle-Class-Loader with the Bundle having a dynamic-import directive.
I'm very much looking forward to the 'Getting started with Clerezza and UIMA' page :) Cheers, Reto On Wed, Aug 31, 2011 at 4:48 PM, Tommaso Teofili <[email protected]> wrote: > Hi all, > the UIMA Addons 2.3.1 release happened on August 29th [1], this release > didn't include the OSGi packaging for the annotators since the UIMA > community wants to provide full support to OSGi in the future while the > addons OSGi packaging allowed only some basic use cases to be executed. > > So far the bad news, the good news is that we can now include UIMA Addons > artifacts in our modules and that there is already a solution to face the > possible issues with class loading within a framework which is not fully > OSGi compliant. > > The UIMAFramework class creates an AnalysisEngines given its (XML) > descriptor that contains the FQN of the annotator class which is then > instantiated via Class.forName(). > As far as I've experienced this is not good when working within OSGi > containers as each bundle uses a separate ClassLoader so, for example, the > ClassLoader of the uima.utils bundle cannot see the ClerezzaCASConsumer > class in uima.casconsumer module by default. > Luckily UIMA provides the possibility of defining an extension ClassLoader > when instantiating the framework. > So the idea is to define an ExtensionClassLoader which registers the > ClassLoaders of UIMA classes implementing AnalysisComponent interface (that > is the interface for Annotators and CAS Consumers) and use it within the > creation of each AnalysisEngine. > Each bundle which has annotator classes can automatically register its > classes (in the ExtensionClassLoader) using an OSGi Activator (a > UIMABundleActivator in the maven-bundle-plugin configuration) which is > responsible for this task. > > Obviously in the future releases of UIMA with full OSGi support the above > constraints could be safely removed. > > So my idea is to apply the above changes in order to allow easy deploy of > custom UIMA pipelines within Clerezza. After that I think a brief 'Getting > started with Clerezza and UIMA' page would be useful. > Looking forward to your feedback. > Cheers, > Tommaso > > [1] : http://uima.apache.org/downloads.cgi >
