Thanks a lot for your input :)
I unfortunately don't have access to the oracle database, but other systems are connecting to the same database and they do not have any issues with it. I setup a minimal example on my localhost with postgres and attached a VisualVM to it.
Even though I am not close to the duration on the other system, I can reproduce the behavior:
Setup:
- Run Hapi in a container with the starter-project (version 6.10.1)
- Custom @Interceptor classes (docker-compose.yml: hapi.fhir.custom-interceptor-classes)
-Custom spring package (application.yaml: custom-bean-packages)
First run:
- Use an example Slot resource that is sent via POST
- First invocation lasts ~9 seconds
- 8.4 seconds are spent here: ca.uhn.fhir.jpa.dao.BaseHapiFhirDao.createHistoryEntry()
- the time is split in two major parts ending up in the same method for ~4 seconds: java.util.jar.JarInputStream.getNextJarEntry()
Second run:
- Use the same example Slot resource and send it again via POST
- Second invocations lasts ~300ms
- 99.2ms are spent here: ca.uhn.fhir.jpa.dao.BaseHapiFhirDao.createHistoryEntry()
I can share the above information in screenshots - I beg your pardon that I can not share the entire snapshot.
Maybe I am using the custom classes in a wrong way.
Kind regards,
Johanna