Bemærk
Når der henvises til fil- og biblioteksplaceringer i dette dokument, er <installationsbibliotek> det bibliotek, hvor Agent Controller-pakken blev pakket ud.
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.
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
LaunchConfigurationAttributter:
- 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.
<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.