[ https://issues.apache.org/jira/browse/UIMA-1593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12762270#action_12762270 ]
Jerry Cwiklik commented on UIMA-1593: ------------------------------------- Fixed UIMA AS Primitive controller to check if multiple instances of AE are allowed. The code throws ResourceInitializationException if the AE descriptor's operational properties are configured to prevent scale-out but the deployment descriptor scaleout parameter is > 1. > AEs that declare multipleDeploymentAllowed=false can't be deployed as > services and called from multiple clients in the same JVM > ------------------------------------------------------------------------------------------------------------------------------- > > Key: UIMA-1593 > URL: https://issues.apache.org/jira/browse/UIMA-1593 > Project: UIMA > Issue Type: Bug > Components: Async Scaleout, Core Java Framework > Affects Versions: 2.2.2 > Reporter: Adam Lally > > If an AnalysisEngine descriptor declares multipleDeploymentAllowed=false, the > intention is that there cannot be multiple instances of it in the same JVM. > UIMA reports an error if you try to embed such an AE in an aggregate that > declares multipleDeploymentAllowed=true. But this only makes sense for > co-located components, not services. > Currently, the service wrapper returns the multipleDeploymentAllowed=false as > part of the getMetaData() call. The aggregate AE checks this metadata for > consistency, and at that point it isn't aware that it came from a service, so > the exception is thrown. > Perhaps the service wrapper should be modified to set > mutlipleDeploymentAllowed to true when responding to all getMetaData() calls? > Alternatively it could be done on the client side, but to me it makes more > sense for the service to do it - why expose this setting if clients have no > use for it? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.