September 3, 2012
by Mihaly
Comments Off on Running UIMA Engines in Stanbol using the same JVM
Introduction
This post is a follow up of my previous posts about using UIMA with Apache Stanbol (see https://blog.iks-project.eu/uima-apache-stanbol-integration/ and https://blog.iks-project.eu/uima-apache-stanbol-integration-2/)! As I have already explained in these posts, running UIMA engines and Apache Stanbol in the same Java Virtual Machine (JVM) is not the easiest thing to do. The root of the problem is that both systems try to do something similar but in different ways: they both rely on customized run-time controlled class loading (in certain settings). In UIMA, you can define your own type system for the annotations. For every element in a type system, a Java class will be generated. When running an UIMA aggregate, naturally all these classes will be needed.Therefore, if you are designing a larger system that relies on many UIMA components, you has to have either all the classes in advance in compile-time, or an special class loader is needed that takes care of loading the classes run-time. UIMA has its own class loader implementation for this purpose that works great: it allows you to load and instantiate classes from a pear file any time. Continue Reading →