Dette eksempelet viser hvordan du bruker staticField-dataelementet og staticInitializer-probefragmentet.
I eksempelet følger proben med på når forekomster i en klasse blir opprettet. Hvis en forekomst blir opprettet
over et sekund etter den forrige forekomsten i den klassen, skriver proben en loggmelding.
Proben gjør følgende:
- Proben bruker definisjonen av det statiske feltet og oppretter et statisk felt av typen
Dato i hver probebehandlet klasse. Det statiske feltet blir initialisert ved å kalle opp new
Date();.
- I staticInitializer-fragmentet setter proben Dato-forekomsten til en
probebehandlet klasse til "nulltidspunktet" (januar, 1970) når den blir lastet inn.
- I entry-fragmentet sjekker proben når forrige oppdatering ble utført, og
utsteder en rapport hvis oppdateringen ble utført for over et sekund siden. (På grunn av målreglene kjøres
entry-fragmentet bare i konstruktører.)
- Til slutt oppdaterer proben verdien av Dato-forekomsten til "now."
Proben bruker definisjonen av det statiske feltet til å opprette et nytt statisk felt i hver probebehandlet klasse. Til
sammenlikning vil bruk av et fragment i klasseomfang til å deklarere Dato-feltet, resultere i at en enkelt forekomst
av Dato blir vist i den genererte klassen som inneholder probefragmentene, uansett hvor mange klasser proben blir
brukt på. Du kan gjøre dette hvis du vil spore tidsforsinkelsen mellom opprettelsen av forekomster i en
probebehandlet klasse, i stedet for å spore forsinkelsen mellom opprettelsen av forekomster i hver probebehandlet klasse.
Denne proben er definert av følgende oppføringer i Probekit-redigeringsprogrammet:
- Fullt kvalifisert Java-type for statisk felt (høyreklikk på Probe i
treruten, og klikk deretter på for å oppgi denne verdien):
java.util.Date
- Mål (velg Mål i treruten og
klikk deretter på Rediger for å oppgi disse verdiene):
-
Måltype: include
- Pakke: com.sample* (Bruk et faktisk pakkenavn her.)
- Klasse: *
- Metode: <init>
- Metodesignatur: *
- Mål (klikk på Legg til og
deretter Rediger i redigeringsruten for å oppgi disse verdiene:
-
Måltype: exclude
- Pakke: *
- Klasse: *
- Metode: *
- Metodesignatur: *
- Fragment (velg Fragment i
treruten for å oppgi disse verdiene):