Filen agent.xml

Bemærk

Når der henvises til fil- og biblioteksplaceringer i dette dokument, er <installationsbibliotek> det bibliotek, hvor Agent Controller-pakken blev pakket ud.

Introduktion

Startkonfigurationsfilen til agenter (agent.xml) indeholder statiske oplysninger, som Agent Controller skal kende for at kunne starte og styre en agent. De statiske oplysninger omfatter følgende:

Filen agent.xml skal være placeret under et bibliotek navngivet efter agenten. Det navngivne bibliotek skal være på den placering, der er angivet af elementet Agent i filen serviceconfig.xml. For en agent med navnet org.eclipse.tptp.TimeCollector ville konfigurationsfilen f.eks. være placeret i <installationsbibliotek>/agents/org.eclipse.tptp.TimeCollector/agent.xml. Agent Controller bruger biblioteksnavnet til at identificere agenter, som der anmodes om ved navn. Oplysningerne i konfigurationsfilen agent.xml er agentens metadata.

Bemærk, at Agent Controller kun læser agent.xml-filerne en enkelt gang for alle agenter, når programmet starter. Når indholdet af disse filer ændres, eller der tilføjes nye agentbiblioteker, skal Agent Controller derfor genstartes efterfølgende for at få ændringerne til at træde i kraft.

Elementer og attributter

Element: Agent
Dette er rodelementet til agentkonfigurationsfilen. Det definerer agentens metadata. Et objekt kan anmode om metadata for en agent og derefter bruge oplysningerne efter behov. Underelementerne angivet nedenfor bruges af Agent Controller til at starte og styre agenten. Udviklere kan definere ekstra underelementer, hvis der er behov for at returnere yderligere oplysninger om agenter i form af metadata. Metadata er nyttige for en klient, når der skal foretages beslutninger om, hvilken agent der skal køres for at klare en bestemt opgave.

Underelementer:     Interface
                            SingleInstance
                            Bound
                            MaxControllers
                            MaxObservers
                            ConfigFile
                            LaunchConfiguration

Attributter:

Name
Denne strengværdi er agentens entydige navn. Værdien forventes at være den samme som det navn, der bruges af agenten, når den registrerer sig over for Agent Controller. Hvis værdierne er forskellige, vil anmodninger på en agent - angivet ved navn - få afvigende resultater afhængigt af, om agenten allerede kører eller ej.

Element:Interface
Strengværdien for elementet er navnet på en grænseflade, der understøttes af agenten. Der kan være angivet flere (eller ingen) Interface-elementer i et Agent-element. En grænseflade er et entydigt navn for et sæt kommandoer, der understøttes af en agent.

Bruges af:       Agent

Element:SingleInstance
Heltalsværdien for dette element er enten 0 eller 1. Værdien 0 (falsk) angiver, at der kan køre flere forekomster af agenten samtidigt. Værdien 1 (sand) angiver, at kun en enkelt forekomst af agenten er tilladt. Hvis værdien 1 bruges, afviser Agent Controller anmodninger på nye forekomster af agenten, hvis der allerede kører en forekomst.

Bruges af:       Agent

Element: Bound
Heltalsværdien for dette element er enten 0 eller 1. Værdien 0 (falsk) angiver, at agenten ikke er bundet til et program. Værdien 1 (sand) angiver, at agenten er bundet til et program. En agent, der er bundet til et program, kan udelukkende startes af det pågældende program. Agent Controller afviser derfor at starte en agent, hvis dets Bound-værdi er 1.

Bruges af:       Agent

Element: MaxControllers
Heltalsværdien for elementet er -1, 0 eller en positiv værdi. Værdien -1 betyder "ingen grænse". Agent Controller vil afvise anmodninger efter kontrolrettigheder på agenten, hvis antallet af eksisterende anmodninger allerede overstiger den angivne værdi. Kontrolrettighederne er defineret af en udvikler. Den forventet brug af elementet er, at der er angivet en begrænsning på det antal objekter, der kan anmode om sammenfaldende handlinger, f.eks. anmodninger om at starte eller stoppe opsamlingen af data.

Bruges af:       Agent

Element: MaxObservers
Heltalsværdien for elementet er -1, 0 eller en positiv værdi. Værdien -1 betyder "ingen grænse". Agent Controller vil afvise anmodninger efter observatørrettigheder på agenten, hvis antallet af eksisterende anmodninger allerede overstiger den angivne værdi. Rettighederne er defineret af en udvikler. Den forventet brug af elementet er, at der er angivet en begrænsning på det antal objekter, der kan anmode om læsehandlinger, f.eks. få opgivet statiske data eller data, som er under opsamling.

Bruges af:       Agent

Element: ConfigFile
Strengværdien for elementet angiver den fuldstændige sti og filnavnet for en ekstra konfigurationsfil, der indeholder dynamiske konfigurationsoplysninger, som agenten skal have adgang til. Filen er valgfri, og dens formål og indhold skal defineres af udvikleren. Den forventede brug er tiltænkt agenten, så denne kan læse egne konfigurationsoplysninger fra filen ved start eller på ethvert andet tidspunkt.

Bruges af:       Agent

Element: LaunchConfiguration
Identificerer startkonfigurationsparametre for Agent-elementet.

Bruges af:       Agent
                   
Underelementer:     launchInfo
 

Element: launchInfo
Omfatter oplysninger, der bruges til start af en eksekvérbar fil.

Bruges af:       LaunchConfiguration

Underelementer:     Application

Element: Application
Dette Application-element definerer oplysninger, som skal bruges til at starte et program. Den tilhørende executable-attributværdi kan angive et program ved aliasnavn (se elementet ApplicationAliases i serviceconfig.xml) eller stinavnet på den egentlige eksekvérbare fil, der skal startes. Værdien holdes op imod listen med aliaser, der hentes fra serviceconfig.xml, når Agent Controller startes. Hvis der ikke findes en match, bruges de de givne startoplysninger indeholdt i Application-elementet. Hvis der findes en match, bruges startoplysningerne defineret for aliaset sammen med de oplysninger, der er defineret her som beskrevet i det følgende.

Bruges af:       LaunchConfiguration
                   
Underelementer:     Variable
                            Parameter                          

Attributter:

executable

Denne strengværdi giver navnet på det program, der skal startes. Den kan enten være et aliasnavn eller stinavnet på den egentlige eksekvérbare fil, der skal startes. Hvis der er angivet et aliasnavn, erstattes navnet på den eksekvérbare fil med den stiværdi, som er angivet i aliaset.

location

Valgfrit. Denne strengværdi angiver biblioteket, hvorfra den eksekvérbare fil skal startes. Ved kørslen kaldes biblioteket sommetider for den eksekvérbare fils arbejdsbibliotek. Hvis attributten er udeladt, og den eksekvérbare fil ikke matchede med et alias, afvikles programmet fra det bibliotek, hvor Agent Controller er placeret. Hvis attributten er udeladt, og den eksekvérbare fil matchede med et alias, bruges den placering, som er angivet for aliaset.

Element: Variable
Elementet Variable definerer en miljøvariabel og hvordan denne skal placeres i det eksisterende miljø. Hvis elementet er placeret i et Application-element, ændrer elementet det miljø, som benyttes, når programmet startes. Der kan være flere (eller ingen) af disse elementer defineret for Application-elementet. Hvis Application-elementets executable-attribut angiver et alias, bruges aliasets miljøvariabelindstillinger på standardmiljøet, hvorefter de miljøvariabler, som er defineret her, bruges ovenpå.

Bruges af:     Application

Attributter:

name

Strengværdien angiver navnet på miljøvariablen.

value

Denne strengværdi angiver værdien for miljøvariablen.

position

Valgfrit. Denne strengværdi kan enten være "append", "prepend" eller "replace", og angiver, hvor miljøet skal placeres i forhold til det aktuelle miljø. Hvis attributten udelades, tilføjes variablen til miljøet.

Element: Parameter
Elementet Parameter definerer et kommandolinjeargument, der skal overføres til programmet, når dette startes. Der kan være flere (eller ingen) af disse elementer defineret for et Application-element. Hvis Application-elementets executable-attribut angiver et alias, bruges aliasets kommandolinje, hvorefter kommandolinjeargumenterne defineret her bruges ovenpå.

Bruges af:     Application

Attributter:

value

Denne strengværdi angiver et kommandolinjeargument.

position

Valgfrit. Denne strengværdi kan være enten  "append", "prepend" eller "replace" og angiver, hvor argumentet skal placeres i forhold til de eksisterende kommandolinjeargumenter. Hvis attributten er udeladt, tilføjes argumentet til kommandolinjen.

Eksempel med filen agent.xml

<Agent Name="org.eclipse.tptp.TimeCollector">
    <Interface>org.eclipse.tptp.agent</Interface>
    <Interface>org.eclipse.tptp.collector</Interface>
    <SingleInstance>0</SingleInstance>
    <Bound>0</Bound>
    <MaxControllers>-1</MaxControllers>
    <MaxObservers>-1</MaxObservers>
    <ConfigFile>c:\tptp\agents\org.eclipse.tptp.TimeCollector\config\agentconfig.xml</ConfigFile>
        <LaunchConfiguration>

            <launchInfo>
                <Application executable=".\TimeCollector.exe">

                    <Parameter value="-serviceconfig ..\config\serviceconfig.xml" />

                </Application>

            </launchInfo>
        </LaunchConfiguration>
</Agent>


Relateret reference

Oversigt over agent- og Agent Controller-konfiguration


Copyright (C) 2005, 2006 Intel Corporation.