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.

...

  • Ingår i en separat xml-konfig-fil, TakCache-services.xml, för att kunna aktiveras vid behov
  • Definierar också spring-bönan takCacheBean  som används för att läsa information från TAK.

Konfiguration

Konfiguration av följande mekanismer är av central betydelse för att en aggregerande tjänst skall fungera bra i en produktionsmiljö med både hög last och där fel inträffar pga kommunikationsproblem och/eller långa svarstider.

Timeouter

För att den timeout-hanteringen skall fungera och den aggregerande tjänsten skall kunna ge så meningsfull felinformation som möjlig tillbaka till anropande tjänsteproducent vid timeout-relaterade fel så är det viktigt att: 

AGGREGATED_SERVICE_TIMEOUT_MS > AGGREGATE_TIMEOUT_MS > SERVICE_TIMEOUT_MS

 

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