the dynamic-imports way was taken in consideration when talking with other UIMA mates, but I haven't inspected that possibility yet. Thanks Reto. Cheers, Tommaso
2011/8/31 Reto Bachmann-Gmür <[email protected]> > 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 > > >
