Problem

What are startup components, and how can I define them in the ACS CDB?

Solution

Normally Components are started up by the Manager when a client asks for them.

But there are Components that need to be up as soon as possible and stay up all the time.
For example Components providing telemetry information have to publish their data in the archive all the time, even if there are no clients using them directly.

As soon as possible means that they have to be started as soon as their Container becomes available.

Such Components are specified in the CDB and there are two ways to do it:


Specifying Startup Components in the Manager's CDB

You can specify Startup Components in the CDB of the Manager by filling in their names in the Startup field. The following example comes from the Manager.xml file in the cdb of the module ACS/LGPL/CommonSoftware/acsexmpl


<Manager   xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0"
           xmlns="urn:schemas-cosylab-com:Manager:1.0" 
           xmlns:baci="urn:schemas-cosylab-com:BACI:1.0" 
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  CacheSize="0">
  <Startup>
        <cdb:_ string="AMSSEQ1"/>
        <cdb:_ string="MOUNT1"/>
        <!-- cdb:_ string="FRIDGE1"/ Moved in Components.xml file -->
        <cdb:_ string="TOWER1/FRONTDOOR"/>
  </Startup>
  .....
</Manager>

This is convenient if you want to have all Startup Components grouped together in an easily readable place.


Specifying Startup Components one by one in the Components specification area of the CDB

You can alternatively specify if a Components need to be started up automatically directly in the Component Specification in the Components.xml or in the other specification files (see FAQAdditionalCDBStructureForComponentsDir and FAQMultipleXmlFilesInCdbDirectory)

The following example comes from the Components.xml file in the cdb of the module ACS/LGPL/CommonSoftware/acsexmpl


      <_ Name="FRIDGE1"             
         Code="acsexmplFridgeImpl"
         Type="IDL:alma/FRIDGE/FridgeControl:1.0"
         Container="Container" 
         Autostart="true"/>

This is convenient if you have to change the startup behaviour of the components on a one by one basis.

-- GianlucaChiozzi - 09 Sep 2005

Related articles

Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.



Related issues