uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Danai Wiriyayanyongsuk" <dan...@gmail.com>
Subject Re: UIMA 2.2 Class Loader
Date Fri, 31 Aug 2007 18:20:32 GMT
That looks like a really good idea! :D

Just a thought, in case of that a PEAR descriptor is specified, there will
be two classpath information: one for the PEAR itself and another one from
the XML tag. It would be nice to also add an attribute for the classpath to
indicate how the one specified in XML should be use. For example:
   <classpath usage="append | addfirst | override"> classpath settings
</classpath>

My two cents :)
Danai Wiriyayanyongsuk


On 8/31/07, Michael Baessler <mba@michael-baessler.de> wrote:
>
> 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 <mba@michael-baessler.de> 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 <mba@michael-baessler.de> 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 < msa@schor.com> 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
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>
> >>
> >
> >
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message