Gå till slutet av bannern
Gå till början av bannern

Tak-Integration feature

Hoppa till slutet på meta-data
Gå till början av metadata

Du visar en gammal version av den här sidan. Visa nuvarande version.

Jämför med nuvarande Visa sidhistorik

« Föregående Version 10 Nästa »

Beskrivning

Denna feature används i de fall Aggregeringsplatformen behöver supportera olika major versioner av samma tjänstekontrakt.

 

Sync with TAK success

  1. setContext. 
    När mule context sätts i singelton-bönan TakCacheBean triggas metoden updateCache asynkront.
  2. updateCache.
    TakCacheBean anrop TAK-tjänsten hamtaAllaVirtualliseringar och sorterar ut de virtualliseringar som exponerar rätt version av tjänstekontraktet.
  3. populateCache
    Metoden poppulerar cachen med den logiskaaddressat som finns i det filterarde sättet med virutalliseringar.
  4. writeTakLocalCache
    Skriver sättet med logiskaddresser till specifierad fil.

 Sync with TAK fail

  1. setContext
    När mule context sätts i singelton-bönan TakCacheBean triggas metoden updateCache asynkront
  2. updateCache.
    TakCacheBean anropar TAK-tjänsten hamtaAllaVirtualiseringar men misslyckas.
  3. loadTakLocalCache
    TakCacheBean laddar specifierad fil ifrån filsystemet.
  4. populateCache
    TakCachen populeras med värden från uppläst fil. 

 

Använding

Laddning av cache

TakCachen laddas vid uppstart av den aggregerandetjänsten, se beskrivning.
Det går även att ladda om TakCachen om en uppdatering i TAK'n har gjorts som behövs läsas in. 

Detta görs genom tex verktyget curl

Reset TakCache
curl http://localhost:8084/tak/reset

 

Läsning från cache

TakCacheBean exponerar ett 2 metoder för användning i en aggregerande-tjänst.

public Set<String> receiverIds()

Retunerar ett immutable sätt med de logiskaaddresser som finns lagrade i cachen.

 

public boolean contains(final String reciverId)

Metoden tar en logiskaddress och returner ett boolskt värde baserat på om addressen finns i cachen eller inte.

 

Användning av cachen i RequestListFactoryImpl kan se ut på följande sätt för att filtrerar bort de anrop som går till en producent som saknar implementation av den aktuella versionen av tjänstkontraktet.

RequestListFactoryImpl
for (EngagementType inEng : inEngagements) {    
   if(isPartOf(reqCareUnit, inEng.getLogicalAddress())) {
      if(takCache.contains(inEng.getLogicalAddress())) {
         log.debug("Add SS: {} for PDL unit: {}", inEng.getSourceSystem(), inEng.getLogicalAddress());
         addPdlUnitToSourceSystem(sourceSystem_pdlUnitList_map, inEng.getSourceSystem(), inEng.getLogicalAddress());
      }
   }
}

 

Installation

  1. Den aggregeradetjänsten behöver en version 1.2.2 av aggregeringsplatformen.

    Maven pom
    <properties>
        <skltp.agp.version>1.2.2</skltp.agp.version>
    </properties>
  2. Uppdatera GetAggregated<TK>-common.xml i src/main/app för att även importera TakCache tjänsten.

    common.xml
    <spring:import resource="classpath:TakCache-service.xml" />
  3. Lägg till properties till konfigurationsfilen för den aggregerande-tjänsten. GetAggregated<TK>-config.properties i src/main/resources. Sätt till värden som är anpassade för det aktuella aggregerande-tjänsten.

    Konfigurationsfilen
    #TAK
    TAK_OUTBOUND_URL=${TAK_TESTSTUB_INBOUND_URL}
    TAK_INBOUND_RESET_CACHE_TAK_URL=http://localhost:8084/tak/reset
    TAK_TESTSTUB_INBOUND_URL=http://localhost:8085/tak/teststub/SokVagvalsInfo/v2
    TAK_CACHE_FILE_NAME=/tmp/GetAggregatedVaccinationHistory_v2.localCache
  4. Utöka RequestListFactoryImpl-klassen för dependency injection.

    RequestListFactoryImpl
    private TakCacheBean takCache;
    
    public void setTakCache(TakCacheBean takCache) {
       this.takCache = takCache;
    }
  • Inga etiketter