Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
2.0.0uimaFIT
-
None
Description
Creating a pipeline as follows:
a. CollectionReader
b. AnnotatorA
c. AnnotatorB
All the above (including the CollectionReader and the 2 annotators) have a
dependency on an ExternalResource.
Here's a shortened code that I used:
// create the external resource desc
ExternalResourceDescription myExternalResourceDesc =
createExternalResourceDescription();
// create the CollectionReaderDescription, with the external resource desc
CollectionReaderDescription myCollectionReaderDesc =
createDescription(myExternalResourceDesc);
// create the MyAnnotatorA desc, with the external resource desc
AnalysisEngineDescription myAnnotatorADesc =
createPrimitiveDescription(myExternalResourceDesc);
// create the MyAnnotatorB desc, with the external resource desc
AnalysisEngineDescription myAnnotatorBDesc =
createPrimitiveDescription(myExternalResourceDesc);
// run
SimplePipeline.runPipeline(myCollectionReaderDesc, myAnnotatorADesc,
myAnnotatorBDesc);
In the initialize(UimaContext context) method of collection reader and
annotator, I print out the instance of the ExternalResource:
MyCollectionReader:com.example.MyExternalResource <at> 26a7dd39
MyAnnotatorA:com.example.MyExternalResource <at> 6ee1dac2
MyAnnotatorB:com.example.MyExternalResource <at> 6ee1dac2
As you can see, MyAnnotatorA and MyAnnotatorB got the same instance of the
ExternalResource, but MyCollectionReader got a different instance.
They should be accessing the same ExternalResource instance.
Attachments
Issue Links
- is duplicated by
-
UIMA-3671 Resources cannot be shared between reader and analysis engines in SimplePipeline
- Resolved