Class VinciCasProcessorDeployer

  • All Implemented Interfaces:
    CasProcessorDeployer

    public class VinciCasProcessorDeployer
    extends java.lang.Object
    implements CasProcessorDeployer
    Reference implementation of CasProcessorDeployer This component enables the CPE to deploy Cas Processors running as a Vinci service. Two deployment models are supported in the current implementation:
    • managed deployment (aka local)
    • unmanaged deployment (aka remote)
    Managed deployment gives the CPE control over the life cycle of the Cas Processor. The CPE starts, restarts and shuts down the Cas Processor running as a Vinci service. This service is launched on the same machine as the CPE but in a seperate process. Unmanaged deployment does not provide the CPE control over the Cas Processor that may be running on a remote machine. The CPE assumes that such Cas Processor is managed by a separate application and is always available. For the managed deployment the CPE uses its internal VNS (Vinci Naming Service) to which Cas Processor must connect to. The VNS issues a port for the Cas Processor to run on and creates a proxy to it. For unmanaged Cas Processor the CPE creates a proxy to remote service. The remote Cas Processor service is discovered with help of VNS running on a host and port defined in the Cpe descriptor for this Cas Processor.
    • Constructor Detail

      • VinciCasProcessorDeployer

        public VinciCasProcessorDeployer​(CPEFactory aCpeFactory)
        Instantiaes the class and gives it access to CPE configuration.
        Parameters:
        aCpeFactory -
    • Method Detail

      • deployCasProcessor

        public ProcessingContainer deployCasProcessor​(java.util.List aCasProcessorList,
                                                      CPMEngine aEngine,
                                                      boolean redeploy)
                                               throws ResourceConfigurationException
        Deploys integrated Cas Processor. Number of instances this routine actually deploys depends on number of processing threads defined in the CPE descriptor. There is one instance per processing thread created here. The aCasProcessorList contains instantiated Cas Processors. These are instantiated by the CPEFactory.
        Parameters:
        aCasProcessorList - - list containing instantiated Cas Processors
        redeploy - - true when redeploying failed Cas Processor
        Returns:
        - ProcessingContainer containing pool of CasProcessors
        Throws:
        ResourceConfigurationException
      • deployCasProcessor

        public ProcessingContainer deployCasProcessor​(java.util.List aCasProcessorList,
                                                      boolean redeploy)
                                               throws ResourceConfigurationException
        Deploys CasProcessors in a provided List. The List contains instances of Cas Processors that are not yet bound to a vinci service. To do anything usefull, the Cas Processor must be deployed first. The process of deploying a proxy depends on the deployment mode defined in the cpe descriptor. In case of managed Cas Processor, the deployment consists of launching the vinci service and creating a connection to it. For un-managed Cas Processor the CPE establishes the connection.
        Specified by:
        deployCasProcessor in interface CasProcessorDeployer
        Parameters:
        aCasProcessorList - - list of CasProcessors to deploy
        redeploy - - true if intent is to redeploy failed service
        Returns:
        ProcessinContainer - instance of Container
        Throws:
        ResourceConfigurationException - - failed to deploy Cas Processor