org.apache.uima.collection.impl.cpm.container.deployer.vinci
Class VinciCasProcessorDeployer

java.lang.Object
  extended by org.apache.uima.collection.impl.cpm.container.deployer.vinci.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.


    Field Summary
    static java.lang.String CONN_RETRY_COUNT
               
    static int DEFAULT_SERVICE_PORT
               
    static int DEFAULT_SERVICE_PORT_RANGE
               
    static java.lang.String DEFAULT_VNS_PORT
               
    static java.lang.String LOCAL_VNS
               
    static int MAX_WAIT_TRIES
               
    static int SLEEP_TIME
               
    static int WAIT_TIME
               
     
    Constructor Summary
    VinciCasProcessorDeployer(CPEFactory aCpeFactory)
              Instantiaes the class and gives it access to CPE configuration.
     
    Method Summary
     ProcessingContainer deployCasProcessor(java.util.List aCasProcessorList, boolean redeploy)
              Deploys CasProcessors in a provided List.
     ProcessingContainer deployCasProcessor(java.util.List aCasProcessorList, CPMEngine aEngine, boolean redeploy)
              Deploys integrated Cas Processor.
     void deployCasProcessor(ProcessingContainer aProcessingContainer)
              Deploys CasProcessor using configuration from provided container.
     void undeploy()
              Shutdown local VNS.
     void undeploy(java.net.URL aURL)
               
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Field Detail

    LOCAL_VNS

    public static final java.lang.String LOCAL_VNS
    See Also:
    Constant Field Values

    WAIT_TIME

    public static final int WAIT_TIME
    See Also:
    Constant Field Values

    MAX_WAIT_TRIES

    public static final int MAX_WAIT_TRIES
    See Also:
    Constant Field Values

    CONN_RETRY_COUNT

    public static final java.lang.String CONN_RETRY_COUNT
    See Also:
    Constant Field Values

    DEFAULT_VNS_PORT

    public static final java.lang.String DEFAULT_VNS_PORT
    See Also:
    Constant Field Values

    DEFAULT_SERVICE_PORT

    public static final int DEFAULT_SERVICE_PORT
    See Also:
    Constant Field Values

    DEFAULT_SERVICE_PORT_RANGE

    public static final int DEFAULT_SERVICE_PORT_RANGE
    See Also:
    Constant Field Values

    SLEEP_TIME

    public static final int SLEEP_TIME
    See Also:
    Constant Field Values
    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
    Returns:
    - ProcessingContainer containing pool of CasProcessors
    Throws:
    ResourceConfigurationException

    deployCasProcessor

    public void deployCasProcessor(ProcessingContainer aProcessingContainer)
                            throws ResourceConfigurationException
    Deploys CasProcessor using configuration from provided container. This method is used for re-launching failed Cas Processor.

    Specified by:
    deployCasProcessor in interface CasProcessorDeployer
    Parameters:
    aProcessingContainer - - container for deployed CasProcessor.
    Throws:
    ResourceConfigurationException - - failed to deploy Cas Processor

    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

    undeploy

    public void undeploy()
                  throws CasProcessorDeploymentException
    Shutdown local VNS.

    Specified by:
    undeploy in interface CasProcessorDeployer
    Throws:
    CasProcessorDeploymentException

    undeploy

    public void undeploy(java.net.URL aURL)
                  throws CasProcessorDeploymentException
    Specified by:
    undeploy in interface CasProcessorDeployer
    Throws:
    CasProcessorDeploymentException


    Copyright © 2010 The Apache Software Foundation. All Rights Reserved.