[
https://issues.apache.org/jira/browse/UIMA-5957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16742220#comment-16742220
]
Peter Klügl commented on UIMA-5957:
-----------------------------------
SimplePipeline.iteratePipeline is public :-)
I actually use this in integration tests to test complete pipelines.
# SimplePipeline.iteratePipeline creates a new JCasIterable
# JCasIterable.iterator() creates a new ResourceManager
# then it uses that to produce the analysis engine
# then it creates a new JCasIterator
# The JCasIterator creates a new ResourceManager
# then it uses that to create the CAS
As a result, the JCas and the analysis engine refer to different uima class
loaders because of the two resource managers, which leads the the
reinitialization of the cover classes.
I know that I can fix this, e.g. with the ResourceManagerCreator, but it would
be good if this can be avoided at all.
> JCasIterable and JCasIterator in SimplePipeline should use the same
> ResourceManager
> -----------------------------------------------------------------------------------
>
> Key: UIMA-5957
> URL: https://issues.apache.org/jira/browse/UIMA-5957
> Project: UIMA
> Issue Type: Improvement
> Components: uimaFIT
> Affects Versions: 2.4.0uimaFIT
> Reporter: Peter Klügl
> Priority: Major
>
> Using SimplePipeline with JCas cover classes and Ruta leads currently to
> class loader switching for each annotator since the JCas and the annotator
> refer to a different uima class loader due to the resource managers.
> Additionally, Ruta needs to perform internal reindexing, which can lead to
> observed but undefined problems.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)