Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.

Innehållsförteckning

Mule flödena är implementerade mha Mule Studio och återges nedan som skärmdumpar från verktyget.

Not: I gällande version av aggregeringplatttformen, v1.1.0, är cache-funktionalitet implementerad men inaktiverad. Dock är implementationen designad för att kunna införa cachning i en framtida version på ett kostnadseffektivt sätt om beslutet att ta bort cachning ändras igen..

Tillgång till källkoden

Se Instruktioner för utvecklare.

...

Note: Anledningen till såväl namnsättning på detta flöde samt delegeringen till ett main-flow är att det är i detta flöde som den inaktiverade cachningsfunktionen liggertidigare innehöll en numer borttagen cachningsfunktion

main-flow

  • Preparerar ett anrop till EI's FindContent tjänst inklusive properagering av kommunikationsheadrar.
  • Anropar EI EI's FindContent tjänst mah en Message Enhancer.
  • Anropar tjänstespecifik "Request List Transformation" implementation för att skapa en lista med de anrop som skall göras till underliggande tjänsteproducenter. 
  • Delegerar bearbetningen till request-reply-flow.
  • I hanteringen av svaret, dvs i ett response-element, anropas en tjänstespecifik "Response List Transformation" implementation för att skapa det slutgiltiga aggregerade svaret baserat på de olika svar som kommit från de underliggande tjänsteproducenterna. 
  •  

...

 

Exempel på konfiguration:

# Default timeout for synchronous services
SERVICE_TIMEOUT_MS=4000
AGGREGATE_TIMEOUT_MS=4500
AGGREGATED_SERVICE_TIMEOUT_MS=5000

Trådpool

För att en aggregerande tjänst skall kunna bibehålla låga svarstider vid uppskakad last är det av central betydelse att det finns tillräckligt med trådar konfigurerade för att kunna hantera alla parallella anrop. Samtidigt 

Varje aggregerande tjänst kan konfigureras individuellt baserat på följande parametrar för en default tråd pool:

Kodblock
languagexml
<default-threading-profile poolExhaustedAction="ABORT" maxThreadsActive="${AGP_DEFAULT_MAX_THREADS_ACTIVE}" maxThreadsIdle="${AGP_DEFAULT_MAX_THREADS_IDLE}" threadTTL="${AGP_DEFAULT_MAX_THREADS_TTL}"/>

 

Exempel på konfiguration:
# Default thread pool configration
 AGP_DEFAULT_MAX_THREADS_ACTIVE=100
 AGP_DEFAULT_MAX_THREADS_IDLE=1

 AGP_DEFAULT_MAX_THREADS_TTL=10000

 

Tjänstespecifika implementationer

De tjänstespecifika implementationerna konfigerars enligt nedanstående exempel:

 

# POJO implementations of the agp-api
QUERY_OBJECT_FACTORY_IMPL=se.skltp.aggregatingservices.riv.crm.requeststatus.getrequestactivities.QueryObjectFactoryImpl
REQUEST_LIST_FACTORY_IMPL=se.skltp.aggregatingservices.riv.crm.requeststatus.getrequestactivities.RequestListFactoryImpl
RESPONSE_LIST_FACTORY_IMPL=se.skltp.aggregatingservices.riv.crm.requeststatus.getrequestactivities.ResponseListFactoryImpl

 

...