Currently there is no way to specify a classpath for a primitive AE that
is used in an aggregate without having the PEAR file structure.
I think you are searching for an option like
<delegateAnalysisEngine key="PearDesc">
<import location="AnalysisEngine.xml"/>
<classpath> classpath settings </classpath>
</delegateAnalysisEngine>
to specify the classpath of a component using a descriptor. Maybe a new
requirement :-)
-- Michael
Danai Wiriyayanyongsuk wrote:
Thanks Michael for the detailed information! Actually, I tried the similar
thing before previous posting but didn't work. It seemed like the whole
delegateAnalysisEngine tag wasn't there as the annotator class didn't get
loaded. However, it worked when I switched to the location pointed to the
primitive AE description instead.
I'll double check and keep you posted. Unfortunately, it might take me
sometime to get back the result as I just got assigned to a small urgent
work.
I appreciated the help :)
Anyway, is there a way to dynamically create a PEAR-like, isolated class
loader environment for a primitive AE where there is no real PEAR file, so
that the dynamically generated primitve AE description can be directly used
in an aggregate AE description, assuming that the primitive AE's classpath
is known?
Thanks,
Danai Wiriyayanyongsuk
On 8/30/07, Michael Baessler <[EMAIL PROTECTED]> wrote:
Adding the PEAR descriptor as delegate to a aggregate AE should work. I
have tested this successfully.
PEAR descriptors can be used similar to a primitive or aggregate AE
descriptor.
<delegateAnalysisEngine key="PearDesc">
<import
location="/path/to/the/pear/desc/AnalysisEngine_pear.xml"/>
</delegateAnalysisEngine>
If that doesn't work please provide me some detailed information about
the error. You can also try for testing to
load the PEAR descriptor directly in the CVD or DocumentAnalyzer
tooling. That should also work. So you
can verify that the PEAR descriptor referring an AE works as expected.
Hope that helps.
-- Michael
Danai Wiriyayanyongsuk wrote:
Thanks Michael. Yes, I have my primitive engines available as PEAR
files. I
also have the auto-generated PEAR descriptors.
Michael's Quote: "This descriptor have to be used in the aggregate to
refer
to the primitive AEs."
Question: How to refer the PEAR descriptors to their primitive AEs in
the
aggregate? Is it documented somewhere? In the aggregate AE description,
I
tried to specify the location of the PEAR descriptors in
"delegateAnalysisEngine/import" but didn't work.
Thanks,
Danai Wiriyayanyongsuk
On 8/30/07, Michael Baessler <[EMAIL PROTECTED]> wrote:
Are your primitive engines available as PEAR files? That is needed
since
only if you have them as PEAR files
you can use the PEAR descriptor.
After you have installed the PEAR files a PEAR descriptor is
automatically generated (located in the install directory). This
descriptor have to
be used in the aggregate to refer to the primitive AEs.
-- Michael
Danai Wiriyayanyongsuk wrote:
Thanks Marshall for the information and for asking :)
What I have tried is that I have a description of an aggregate
analysis
engine which has 4 primitive analysis engine defined. Those primitive
AE
descriptions are all fully defined (no imports) under the
"delegateAnalysisEngine/analysisEngineDescription" tag. I do this
because
those primitive AE descriptions are generated on the fly. For one
thing,
each primitive AE has its own PEAR-compliant directory. In this case,
I
could not figure out how to tell UIMA the location those directories.
Excerpt from section 5.8 in the UIMA References page:
"As of version 2.2, the framework supports component descriptors which
are
PEAR descriptors. These descriptors define components plus include
information on the class path needed to run them."
Question: To get the individual class loader for each primitive AE
defined
in an aggregate AE, do we have to specify/map the PEAR descriptor
(<componentID>_pear.xml?) for each of every primitive AE? If so, where
and
how to do it?
Any comments/recommendations would be appreciated.
Thanks,
Danai Wiriyayanyongsuk
On 8/29/07, Marshall Schor < [EMAIL PROTECTED]> wrote:
Version 2.2 includes support for aggregates composed of PEAR
descriptors, which include the class path information.
This should allow you to run a pipeline where each annotator could
have
different versions of classes.
See
http://incubator.apache.org/uima/downloads/releaseDocs/2.2.0-incubating/docs/html/references/references.html#ugr.ref.jcas.pear_support
Is that what you're trying to do?
-Marshall
Danai Wiriyayanyongsuk wrote:
Hi Guys,
I'd like to ask a couple of questions regarding the classloader in
UIMA
2.2.
For an aggregate analysis engine, is there a way to have/set
different
class
loaders for each aggregated primitive analysis engines, so that the
classes
won't interfere each others?
If there is so, could you please shed some light how to do it? I've
looked
into the source code and documentation but no luck :(
Many Thanks,
Danai Wiriyayanyongsuk