Page History
Table of Contents |
---|
Indledning
Det primære formål med MinLogProducer biblioteket er at udstille et Java-API som NSP komponenter kan anvende til at lave MinLog2 registreringer viaBibliotekt skal kaldes fra DRS i forbindelse med registrering af dokumenter og metadata i XDS infrastrukturen.. Dette dokument beskriver tilgængelighed af modulet samt anvendelse.
Biblioteker
Biblioteket består af 2 moduler. Begge biblioteker findes som moduler på platformen. Som anvender er det kun nødvendigt med kendskab til et af modulerne. Det er modulet minlog-producer-api. Dette skal inkluderes som provided i pom.xml og tilføjes som en dependency i jboss-deployment-structure.xml.
Minlog-producer-api
Dette bibliotek indeholder api og interface definitioner samt ServiceLoader implementeret i form af klassen RegisterServiceProvider. Det er det eneste bibliotek der er brug for at inkludere i sit projekt.
POM groupId: dk.nsp.minlog
POM artifactId: minlog-producer-api
Wildfly modul navn: dk.nsp.minlog.producer.api
Eksempel på inkludering i pom.xml
Code Block | ||
---|---|---|
| ||
<dependency>
<groupId>dk.nsp.minlog</groupId>
<artifactId>minlog-producer-api</artifactId>
<version>${minlog.producer.version}</version>
<scope>provided</scope>
</dependency> |
Minlog-producer-registration
Dette bibliotek indeholder implementering af interface defineret i minlog-producer-api biblioteket.
POM groupId: dk.nsp.minlog
POM artifactId: minlog-producer-registration
Wildfly modul navn: dk.nsp.minlog.producer
Eksempel på inkludering i pom.xml
Bemærk at under normale omstændigheder er det ikke nødvendigt at inkludere dette modul i sit komponent.
...
.
...
API Beskrivelse og anvendelse
Anvendelse af API sker primært gennem to klasser og en række POJO klasser.
RegisterServiceProvider
Dette er service provider klassen. Den definerer en enkelt statisk metode og denne metode skal kaldes for at få en instans af RegisterService. Metoden man skal kalde hedder getRegisterService()
.
Hvis man kalder getRegisterService()
metoden UDEN at have minlog-producer-registration på sin classpath så får man en test implementering af RegisterService. Denne udgave sender IKKE data til MinLog og validerer heller ikke input. Den logger udelukkende kald til via log4j. Afvikling i en NSP Wildfly container vil altid indeholde minlog-producer-registration på classpath.
RegisterService
Når man har anvendt RegisterServiceProvider til at få en implementering af RegisterService er der 4 metoder man kan kalde.
...
Denne metode skal kaldes inden man kalder andre metoder.
Hvis man ikke gør dette, får man en exception. Første argument (topic) er det Kafka topic, der skal anvendes. De properties, der skal angives som argument (kafkaProperties), er dem, der kan anvendes til at konfigurere en KafkaProducer.
...
Denne metode kaldes for at registrere i MinLog.
Argumentet indeholder en liste af LogEntry objekter, som repræsenterer de data, der skal registreres i MinLog. RegistrationResult er resultatet af registreringen.
...
Sørger for at kalde flush() på KafkaProducer.
Metoden skal kaldes hver gang, man vil sikre sig at kald til addRegistrations() er persisteret i Kafka.
...
PropertyFilter
Lille hjælper klasse, man kan anvende til at filtrere properties, så de kan anvendes til init
metoden i RegisterService
.
...
LogEntry
Dette svarer til et LogDataEntry element i https://www.nspop.dk/display/public/web/MinLog2+-+Min+Log+Registrering+-+Guide+til+anvendere#MinLog2MinLogRegistreringGuidetilanvendere-Request og der henvises derfor til dette dokument.
Source
Dette svarer til et Source element i https://www.nspop.dk/display/public/web/MinLog2+-+Min+Log+Registrering+-+Guide+til+anvendere#MinLog2MinLogRegistreringGuidetilanvendere-Request og der henvises derfor til dette dokument.
Destination
Dette svarer til et Destination element i https://www.nspop.dk/display/public/web/MinLog2+-+Min+Log+Registrering+-+Guide+til+anvendere#MinLog2MinLogRegistreringGuidetilanvendere-Request og der henvises derfor til dette dokuemnt.
Eksempel
Nedenstående er et eksempel på hvordan man anvender biblioteket.
Application.propertiees
Code Block | ||
---|---|---|
| ||
# Kafka
kafka.producer.bootstrap.servers=kafka:9092
kafka.producer.client.id=MinLog2-producer
kafka.producer.key.serializer=org.apache.kafka.common.serialization.StringSerializer
kafka.producer.value.serializer=org.apache.kafka.common.serialization.StringSerializer
kafka.topic=MIT_TOPIC
|
Kode
...
language | java |
---|
...
<TODO>
Eksempel
<TODO>
...