Skip to content

Toolkit Initialization

Bill Majurski edited this page Sep 27, 2017 · 4 revisions

Toolkit Initialization

Toolkit does a lot of work initializing itself when started in Tomcat. Here we describe the steps that are visible in the Tomcat log file. Note that this has been updated for Toolkit 5.0.

Internal FHIR Server
HAPI FHIR version is: 2.5
Creating new FHIR context for FHIR version [DSTU3]
Initializing HAPI FHIR restful server running in DSTU3 mode
Scanning resource class: org.hl7.fhir.dstu3.model.DecimalType
...
A FHIR has been lit on this server

Toolkit includes portions of the HAPI FHIR server.

HTTP Simulators
Initializing HttpSimServlet

There are some specialized HTTP simulators supported.

Finding itself
warHome is /Users/bill/Library/Caches/IntelliJIdea2017.2/gwt/toolkit2.de0221a/xdstools2.130f0f92/run/www

Toolkit contains a lot of internal data, like the default Test Kit, so it needs to be in touch with its feelings and find itself.

Loading toolkit.properties
Loading toolkit properties from /Users/bill/Library/Caches/IntelliJIdea2017.2/gwt/toolkit2.de0221a/xdstools2.130f0f92/run/www/WEB-INF/classes/toolkit.properties

Toolkit properties are loaded from WEB-INF/classes/toolkit.properties. When you edit the Toolkit Configuration in the UI you are editing this file.

Finding the External Cache
External Cache as reported by toolkit.properties
Installation: External Cache set to /Users/bill/tmp/toolkit2a

Toolkit properties includes the location of the External Cache.

Finding Tomcat
Toolkit running at localhost:8888

Tomcat cannot tell you where it is running so we have to include that in toolkit.properties. This host:port combination will be used to create endpoints for simulators so be careful when using localhost. Do you have off-system users?

Starting V2 Patient Identity Feed listeners
Initializing ADT Listeners...
Port range is [5000, 5015]
Allocate thread pool item for 5000
Allocate thread pool item for 5001
...
Starting the SimProxy
Starting Sim Proxy on...
Listening on port 7297

We are using an internal reverse proxy integrated with the simulator infrastructure. The port number used is controlled through toolkit.properties.

Indexing the Test Kit(s)
Indexing testkit
...
Writing ...
Writing ...
...

Toolkit contains an internal Test Kit and users can install a local Test Kit inside each environment definition in the External Cache. A master index of tests is created at startup. This index can be updated through controls in the Toolkit Configuration tool.

Updating the External Cache
Initialize external cache check
Environments exist - not updating.
Datasets exist - not updating.
Resource cache exists - not updating.

Each of these dataset areas in the External Cache need to exist for Toolkit to function. A base set of data for each is included inside Toolkit and if any of these areas don’t exist in the External Cache the base set is installed. We never overwrite an existing data set.

Simulator Types are loaded
Loading Actor Factories
Loading ActorType XDR Document Source
Loading ActorType Document Registry
Loading ActorType Document Repository
...
Clone this wiki locally