Interface CasManager

  • All Superinterfaces:
    CasOwner
    All Known Implementing Classes:
    CasManager_impl

    public interface CasManager
    extends CasOwner
    Manages creation and pooling of CAS instances within an AnalysisEngine.
    • Method Detail

      • addMetaData

        void addMetaData​(ProcessingResourceMetaData aMetadata)
        Called by components when they initialize.
        Parameters:
        aMetadata - an object containing metadata for the component, including Type System, Type Priorities, and Index Definitions needed to create the CAS.
      • defineCasPool

        void defineCasPool​(UimaContextAdmin aRequestorContext,
                           int aMinimumSize,
                           Properties aPerformanceTuningSettings)
                    throws ResourceInitializationException
        Defines the CAS pool required by a particular AnalysisEngine. (The AnalysisEngine must contain a CAS Multiplier if it requires a CAS pool.)
        Parameters:
        aRequestorContext - the UimaContext of the AE that will request the CASes (AnalysisEngine.getUimaContextAdmin()).
        aMinimumSize - the minimum CAS pool size required
        aPerformanceTuningSettings - settings, including initial CAS heap size, for the AE
        Throws:
        ResourceInitializationException - if a CAS could not be created.
      • getCas

        CAS getCas​(String aRequestorContextName)
        Gets an empty CAS. An AnalysisEngine may only call this method after it has first called defineCasPool(String, int, Properties) and established a CAS Pool of size > 0. The CAS Manager maintains a separate pool for each AnalysisEngine. This method may block if the CAS pool does not contain any free instances.
        Parameters:
        aRequestorContextName - the context name of the AE requesting the CAS (AnalysisEngine.getUimaContextAdmin().getQualifiedContextName()).
        Returns:
        an empty CAS
      • createNewCas

        CAS createNewCas​(Properties aPerformanceTuningSettings)
                  throws ResourceInitializationException
        Create a new CAS using the CasDefinition stored in this CAS Manager. Note that this new CAS will not belong to any pool managed by this CAS Manager. If this method is called multiple times while the CasDefinition is constant, each new CAS will share an identical TypeSystem object.
        Parameters:
        aPerformanceTuningSettings - settings, including initial CAS heap size, for the AE
        Returns:
        a new CAS
        Throws:
        ResourceInitializationException - if the CAS could not be created
      • getCasInterface

        AbstractCas getCasInterface​(CAS cas,
                                    Class<? extends AbstractCas> requiredInterface)
        Gets a specified interface to a CAS.
        Parameters:
        cas - The CAS
        requiredInterface - interface to get. Currently must be either CAS or JCas.
        Returns:
        the CAS Interface
      • setJmxInfo

        void setJmxInfo​(Object aMBeanServer,
                        String aRootComponentMBeanName)
        Configures this CAS Manager so it can register an MBean for each of its CAS pools.
        Parameters:
        aMBeanServer - the JMX MBean Server to register MBeans with. If null, the platform MBeanServer (Java 1.5+ only) will be used.
        aRootComponentMBeanName - unique MBean name for the root component that owns this CAS Manager. The names of the CAS Pool MBeans will be formed by appending ,casPoolContextName=[contextName] to the root component name, where [contextName] is the requestorContextName for the CasPool.