diff --git a/README.md b/README.md index d5cc92bc..7f760522 100644 --- a/README.md +++ b/README.md @@ -115,12 +115,12 @@ networks: - execute `make docker` - execute `./setup.sh ` (setup is independent of PEP, so usually fine to run without argument (defaults to nginx)) -### setup.sh -the setup script executes the following steps: -- use https://admin.left.local and add did:web:left.local:iam:uuid-left -- issue an NutsOrganizationCredential for this DID from this DID -- use https://admin.right.local and add did:web:right.local:iam:uuid-right -- issue an NutsOrganizationCredential for this DID from this DID +# TODO use v6 +### After complete wipe of data +- use https://admin.left.local and add "1" as identity +- issue an NutsOrganizationCredential for the subject's DIDs from the subject's DIDs +- use https://admin.right.local and add "1" as identity +- issue an NutsOrganizationCredential for the subject's DIDs from the subject's DIDs - enable services for discovery - add services to the DID document using curl statement from below - create `customers.json` files for demo-ehr config @@ -128,10 +128,10 @@ the setup script executes the following steps: curl statement to add services to DID document: ```shell -docker exec nuts-demo-ehr-node-left-1 curl -X POST "http://localhost:8081/internal/vdr/v2/did/did:web:node.left.local:iam:uuid-left/service" -H "Content-Type: application/json" -d '{"type": "eOverdracht-sender","serviceEndpoint": {"auth": "https://node.left.local/oauth2/did:web:node.left.local:iam:uuid-left/authorize","fhir": "https://left.local/fhir/1"}}' -docker exec nuts-demo-ehr-node-left-1 curl -X POST "http://localhost:8081/internal/vdr/v2/did/did:web:node.left.local:iam:uuid-left/service" -H "Content-Type: application/json" -d '{"type": "eOverdracht-receiver","serviceEndpoint": {"auth": "https://node.left.local/oauth2/did:web:node.left.local:iam:uuid-left/authorize","notification": "https://left.local/web/external/transfer/notify"}}' -docker exec nuts-demo-ehr-node-right-1 curl -X POST "http://localhost:8081/internal/vdr/v2/did/did:web:node.right.local:iam:uuid-right/service" -H "Content-Type: application/json" -d '{"type": "eOverdracht-sender","serviceEndpoint": {"auth": "https://node.right.local/oauth2/did:web:node.right.local:iam:uuid-right/authorize","fhir": "https://right.local/fhir/1"}}' -docker exec nuts-demo-ehr-node-right-1 curl -X POST "http://localhost:8081/internal/vdr/v2/did/did:web:node.right.local:iam:uuid-right/service" -H "Content-Type: application/json" -d '{"type": "eOverdracht-receiver","serviceEndpoint": {"auth": "https://node.right.local/oauth2/did:web:node.right.local:iam:uuid-right/authorize","notification": "https://right.local/web/external/transfer/notify"}}' +docker exec nuts-demo-ehr-node-left-1 curl -X POST "http://localhost:8081/internal/vdr/v2/subject/1/service" -H "Content-Type: application/json" -d '{"type": "eOverdracht-sender","serviceEndpoint": {"auth": "https://node.left.local/oauth2/1","fhir": "https://left.local/fhir/1"}}' +docker exec nuts-demo-ehr-node-left-1 curl -X POST "http://localhost:8081/internal/vdr/v2/subject/1/service" -H "Content-Type: application/json" -d '{"type": "eOverdracht-receiver","serviceEndpoint": {"auth": "https://node.left.local/oauth2/1","notification": "https://left.local/web/external/transfer/notify"}}' +docker exec nuts-demo-ehr-node-right-1 curl -X POST "http://localhost:8081/internal/vdr/v2/subject/1/service" -H "Content-Type: application/json" -d '{"type": "eOverdracht-sender","serviceEndpoint": {"auth": "https://node.right.local/oauth2/1","fhir": "https://right.local/fhir/1"}}' +docker exec nuts-demo-ehr-node-right-1 curl -X POST "http://localhost:8081/internal/vdr/v2/subject/1/service" -H "Content-Type: application/json" -d '{"type": "eOverdracht-receiver","serviceEndpoint": {"auth": "https://node.right.local/oauth2/1","notification": "https://right.local/web/external/transfer/notify"}}' ``` ### Run diff --git a/api/transfer.go b/api/transfer.go index f7032a71..57879e70 100644 --- a/api/transfer.go +++ b/api/transfer.go @@ -9,6 +9,8 @@ import ( "github.com/monarko/fhirgo/STU3/resources" "github.com/nuts-foundation/nuts-demo-ehr/domain/fhir" "net/http" + "net/url" + "strings" "github.com/nuts-foundation/nuts-demo-ehr/domain/notification" "github.com/nuts-foundation/nuts-demo-ehr/domain/transfer" @@ -223,8 +225,14 @@ func (w Wrapper) NotifyTransferUpdate(ctx echo.Context, taskID string) error { // client_id for senderDID and sub for customerDID _ = json.Unmarshal([]byte(introspectionResult), &target) - customerID := target["iss"].(string) - senderDID := target["sub"].(string) + issuerURLStr := target["iss"].(string) + // get senderDID via custom policy param + senderClientID := target["client_id"].(string) + senderDID := target["organization_did"].(string) + // we need the subjectID, which is at the end of the path, not panic safe + issuerURL, _ := url.Parse(issuerURLStr) + idx := strings.LastIndex(issuerURL.Path, "/") + customerID := issuerURL.Path[idx+1:] codeError := datatypes.Code("error") codeInvalid := datatypes.Code("invalid") @@ -264,7 +272,7 @@ func (w Wrapper) NotifyTransferUpdate(ctx echo.Context, taskID string) error { Code: &codeInvalid, Severity: &codeError, Details: &datatypes.CodeableConcept{ - Text: fhir.ToStringPtr(fmt.Sprintf("received transfer notification for unknown taskOwner with DID: %s", senderDID)), + Text: fhir.ToStringPtr(fmt.Sprintf("received transfer notification for unknown taskOwner with ID: %s", senderClientID)), }, }, }, diff --git a/docker-compose/left/config/demo/customers.json b/docker-compose/left/config/demo/customers.json new file mode 100644 index 00000000..89973334 --- /dev/null +++ b/docker-compose/left/config/demo/customers.json @@ -0,0 +1,3 @@ +{ + "1":{"active":false,"city":"Enske","domain":"","id":"1","name":"Left"} +} diff --git a/docker-compose/left/config/node/policies/eOverdracht.json b/docker-compose/left/config/node/policies/eOverdracht.json index 56ba8c68..f070b6f5 100644 --- a/docker-compose/left/config/node/policies/eOverdracht.json +++ b/docker-compose/left/config/node/policies/eOverdracht.json @@ -49,6 +49,13 @@ "pattern": "^did:web:node\\.(left|right)\\.local:iam:" } }, + { + "id": "organization_did", + "path": [ + "$.credentialSubject.id", + "$.credentialSubject[0].id" + ] + }, { "id": "organization_name", "path": [ @@ -200,6 +207,13 @@ "pattern": "^did:web:node\\.(left|right)\\.local:iam:" } }, + { + "id": "organization_did", + "path": [ + "$.credentialSubject.id", + "$.credentialSubject[0].id" + ] + }, { "id": "organization_name", "path": [ diff --git a/docker-compose/left/data/hapi/database/h2.mv.db b/docker-compose/left/data/hapi/database/h2.mv.db new file mode 100644 index 00000000..11b5d0d3 Binary files /dev/null and b/docker-compose/left/data/hapi/database/h2.mv.db differ diff --git a/docker-compose/right/config/demo/customers.json b/docker-compose/right/config/demo/customers.json new file mode 100644 index 00000000..694ad81a --- /dev/null +++ b/docker-compose/right/config/demo/customers.json @@ -0,0 +1,3 @@ +{ + "1":{"active":false,"city":"Enske","domain":"","id":"1","name":"Right"} +} diff --git a/docker-compose/right/config/node/policies/eOverdracht.json b/docker-compose/right/config/node/policies/eOverdracht.json index 56ba8c68..f070b6f5 100644 --- a/docker-compose/right/config/node/policies/eOverdracht.json +++ b/docker-compose/right/config/node/policies/eOverdracht.json @@ -49,6 +49,13 @@ "pattern": "^did:web:node\\.(left|right)\\.local:iam:" } }, + { + "id": "organization_did", + "path": [ + "$.credentialSubject.id", + "$.credentialSubject[0].id" + ] + }, { "id": "organization_name", "path": [ @@ -200,6 +207,13 @@ "pattern": "^did:web:node\\.(left|right)\\.local:iam:" } }, + { + "id": "organization_did", + "path": [ + "$.credentialSubject.id", + "$.credentialSubject[0].id" + ] + }, { "id": "organization_name", "path": [ diff --git a/docker-compose/right/data/hapi/database/h2.mv.db b/docker-compose/right/data/hapi/database/h2.mv.db new file mode 100644 index 00000000..7c551241 Binary files /dev/null and b/docker-compose/right/data/hapi/database/h2.mv.db differ diff --git a/docker-compose/right/data/hapi/database/h2.trace.db b/docker-compose/right/data/hapi/database/h2.trace.db new file mode 100644 index 00000000..f8a8c9b9 --- /dev/null +++ b/docker-compose/right/data/hapi/database/h2.trace.db @@ -0,0 +1,4196 @@ +2024-05-14 10:10:34 jdbc[4]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: The database is open in exclusive mode; can not open additional connections [90135-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.engine.Session.checkSuspended(Session.java:1369) + at org.h2.engine.Session.transitionToState(Session.java:1361) + at org.h2.engine.Session.waitIfExclusiveModeEnabled(Session.java:1633) + at org.h2.command.Command.executeQuery(Command.java:186) + at org.h2.jdbc.JdbcStatement.executeQuery(JdbcStatement.java:85) + at com.zaxxer.hikari.pool.ProxyStatement.executeQuery(ProxyStatement.java:114) + at com.zaxxer.hikari.pool.HikariProxyStatement.executeQuery(HikariProxyStatement.java) + at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:42) + at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:65) + at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.(DatabaseInformationImpl.java:59) + at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:155) + at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:96) + at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:184) + at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:73) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:318) + at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:468) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1259) + at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:141) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1845) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:330) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113) + at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:693) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:510) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:374) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1689) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1434) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:353) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1273) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1234) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:494) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:349) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1178) + at ca.uhn.fhir.jpa.cache.ResourceChangeListenerCacheFactory.create(ResourceChangeListenerCacheFactory.java:34) + at ca.uhn.fhir.jpa.cache.ResourceChangeListenerRegistryImpl.add(ResourceChangeListenerRegistryImpl.java:114) + at ca.uhn.fhir.jpa.cache.ResourceChangeListenerRegistryImpl.registerResourceResourceChangeListener(ResourceChangeListenerRegistryImpl.java:95) + at ca.uhn.fhir.jpa.searchparam.registry.SearchParamRegistryImpl.registerListener(SearchParamRegistryImpl.java:248) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBean(AbstractAutowireCapableBeanFactory.java:325) + at ca.uhn.fhir.jpa.starter.Application.hapiServletRegistration(Application.java:62) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$e2323db.CGLIB$hapiServletRegistration$1() + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$e2323db$$FastClassBySpringCGLIB$$b7e7422a.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$e2323db.hapiServletRegistration() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:86) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:191) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:337) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:175) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:155) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:97) + at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) + at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) + at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) + at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024) + at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) + at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825) + at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475) + at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) + at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) + at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) + at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) + at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.startup.Catalina.start(Catalina.java:772) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) + at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) +2024-05-14 10:10:34 jdbc[4]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:703) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:240) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.closeConnection(DatasourceConnectionProviderImpl.java:127) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.releaseConnection(JdbcEnvironmentInitiator.java:185) + at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.release(DdlTransactionIsolatorNonJtaImpl.java:83) + at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:137) + at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:184) + at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:73) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:318) + at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:468) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1259) + at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:141) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1845) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:330) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113) + at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:693) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:510) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:374) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1689) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1434) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:353) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1273) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1234) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:494) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:349) + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1178) + at ca.uhn.fhir.jpa.cache.ResourceChangeListenerCacheFactory.create(ResourceChangeListenerCacheFactory.java:34) + at ca.uhn.fhir.jpa.cache.ResourceChangeListenerRegistryImpl.add(ResourceChangeListenerRegistryImpl.java:114) + at ca.uhn.fhir.jpa.cache.ResourceChangeListenerRegistryImpl.registerResourceResourceChangeListener(ResourceChangeListenerRegistryImpl.java:95) + at ca.uhn.fhir.jpa.searchparam.registry.SearchParamRegistryImpl.registerListener(SearchParamRegistryImpl.java:248) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBean(AbstractAutowireCapableBeanFactory.java:325) + at ca.uhn.fhir.jpa.starter.Application.hapiServletRegistration(Application.java:62) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$e2323db.CGLIB$hapiServletRegistration$1() + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$e2323db$$FastClassBySpringCGLIB$$b7e7422a.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$e2323db.hapiServletRegistration() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:86) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:191) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:337) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:175) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:155) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:97) + at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) + at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) + at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) + at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024) + at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) + at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825) + at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475) + at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) + at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) + at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) + at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) + at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.startup.Catalina.start(Catalina.java:772) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) + at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) +2024-05-14 10:26:07 jdbc[5]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: The database is open in exclusive mode; can not open additional connections [90135-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.engine.Session.checkSuspended(Session.java:1369) + at org.h2.engine.Session.transitionToState(Session.java:1361) + at org.h2.engine.Session.waitIfExclusiveModeEnabled(Session.java:1633) + at org.h2.command.Command.executeUpdate(Command.java:240) + at org.h2.jdbc.JdbcConnection.commit(JdbcConnection.java:540) + at com.zaxxer.hikari.pool.ProxyConnection.commit(ProxyConnection.java:350) + at com.zaxxer.hikari.pool.HikariProxyConnection.commit(HikariProxyConnection.java) + at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.commit(AbstractLogicalConnectionImplementor.java:86) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:282) + at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101) + at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:562) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:743) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) + at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.dao.JpaPersistedResourceValidationSupport$$EnhancerBySpringCGLIB$$fb8e40bb.getFhirContext() + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:136) + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:121) + at ca.uhn.fhir.jpa.validation.JpaValidationSupportChain.postConstruct(JpaValidationSupportChain.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.jpaValidationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.validationSupportChain(BaseConfigDstu3Plus.java:90) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.CGLIB$validationSupportChain$253() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64$$FastClassBySpringCGLIB$$6285852.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.validationSupportChain() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.validationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.instanceValidator(BaseConfigDstu3Plus.java:96) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.CGLIB$instanceValidator$261() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64$$FastClassBySpringCGLIB$$6285852.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.instanceValidator() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBean(AbstractAutowireCapableBeanFactory.java:325) + at ca.uhn.fhir.jpa.starter.Application.hapiServletRegistration(Application.java:62) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$bac09281.CGLIB$hapiServletRegistration$1() + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$bac09281$$FastClassBySpringCGLIB$$1570c5d9.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$bac09281.hapiServletRegistration() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:86) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:191) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:337) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:175) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:155) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:97) + at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) + at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) + at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) + at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024) + at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) + at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825) + at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475) + at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) + at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) + at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) + at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) + at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.startup.Catalina.start(Catalina.java:772) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) + at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) +2024-05-14 10:26:07 jdbc[5]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.getWarnings(JdbcConnection.java:689) + at com.zaxxer.hikari.pool.HikariProxyConnection.getWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:290) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:790) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) + at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.dao.JpaPersistedResourceValidationSupport$$EnhancerBySpringCGLIB$$fb8e40bb.getFhirContext() + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:136) + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:121) + at ca.uhn.fhir.jpa.validation.JpaValidationSupportChain.postConstruct(JpaValidationSupportChain.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.jpaValidationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.validationSupportChain(BaseConfigDstu3Plus.java:90) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.CGLIB$validationSupportChain$253() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64$$FastClassBySpringCGLIB$$6285852.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.validationSupportChain() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.validationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.instanceValidator(BaseConfigDstu3Plus.java:96) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.CGLIB$instanceValidator$261() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64$$FastClassBySpringCGLIB$$6285852.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.instanceValidator() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBean(AbstractAutowireCapableBeanFactory.java:325) + at ca.uhn.fhir.jpa.starter.Application.hapiServletRegistration(Application.java:62) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$bac09281.CGLIB$hapiServletRegistration$1() + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$bac09281$$FastClassBySpringCGLIB$$1570c5d9.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$bac09281.hapiServletRegistration() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:86) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:191) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:337) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:175) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:155) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:97) + at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) + at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) + at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) + at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024) + at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) + at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825) + at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475) + at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) + at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) + at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) + at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) + at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.startup.Catalina.start(Catalina.java:772) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) + at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) +2024-05-14 10:26:07 jdbc[5]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:703) + at com.zaxxer.hikari.pool.HikariProxyConnection.clearWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:299) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:790) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) + at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.dao.JpaPersistedResourceValidationSupport$$EnhancerBySpringCGLIB$$fb8e40bb.getFhirContext() + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:136) + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:121) + at ca.uhn.fhir.jpa.validation.JpaValidationSupportChain.postConstruct(JpaValidationSupportChain.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.jpaValidationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.validationSupportChain(BaseConfigDstu3Plus.java:90) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.CGLIB$validationSupportChain$253() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64$$FastClassBySpringCGLIB$$6285852.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.validationSupportChain() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.validationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.instanceValidator(BaseConfigDstu3Plus.java:96) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.CGLIB$instanceValidator$261() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64$$FastClassBySpringCGLIB$$6285852.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.instanceValidator() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBean(AbstractAutowireCapableBeanFactory.java:325) + at ca.uhn.fhir.jpa.starter.Application.hapiServletRegistration(Application.java:62) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$bac09281.CGLIB$hapiServletRegistration$1() + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$bac09281$$FastClassBySpringCGLIB$$1570c5d9.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$bac09281.hapiServletRegistration() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:86) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:191) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:337) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:175) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:155) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:97) + at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) + at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) + at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) + at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024) + at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) + at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825) + at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475) + at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) + at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) + at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) + at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) + at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.startup.Catalina.start(Catalina.java:772) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) + at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) +2024-05-14 10:26:07 jdbc[5]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.setAutoCommit(JdbcConnection.java:495) + at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206) + at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.closeConnection(DatasourceConnectionProviderImpl.java:127) + at org.hibernate.internal.NonContextualJdbcConnectionAccess.releaseConnection(NonContextualJdbcConnectionAccess.java:49) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:217) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:790) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) + at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.dao.JpaPersistedResourceValidationSupport$$EnhancerBySpringCGLIB$$fb8e40bb.getFhirContext() + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:136) + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:121) + at ca.uhn.fhir.jpa.validation.JpaValidationSupportChain.postConstruct(JpaValidationSupportChain.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.jpaValidationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.validationSupportChain(BaseConfigDstu3Plus.java:90) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.CGLIB$validationSupportChain$253() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64$$FastClassBySpringCGLIB$$6285852.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.validationSupportChain() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.validationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.instanceValidator(BaseConfigDstu3Plus.java:96) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.CGLIB$instanceValidator$261() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64$$FastClassBySpringCGLIB$$6285852.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$79b18c64.instanceValidator() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBean(AbstractAutowireCapableBeanFactory.java:325) + at ca.uhn.fhir.jpa.starter.Application.hapiServletRegistration(Application.java:62) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$bac09281.CGLIB$hapiServletRegistration$1() + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$bac09281$$FastClassBySpringCGLIB$$1570c5d9.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$bac09281.hapiServletRegistration() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:86) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:191) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:337) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:175) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:155) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:97) + at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) + at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) + at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) + at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024) + at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) + at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825) + at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475) + at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) + at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) + at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) + at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) + at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.startup.Catalina.start(Catalina.java:772) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) + at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) +2024-05-14 13:12:29 jdbc[5]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: The database is open in exclusive mode; can not open additional connections [90135-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.engine.Session.checkSuspended(Session.java:1369) + at org.h2.engine.Session.transitionToState(Session.java:1361) + at org.h2.engine.Session.waitIfExclusiveModeEnabled(Session.java:1633) + at org.h2.command.Command.executeUpdate(Command.java:240) + at org.h2.jdbc.JdbcConnection.commit(JdbcConnection.java:540) + at com.zaxxer.hikari.pool.ProxyConnection.commit(ProxyConnection.java:350) + at com.zaxxer.hikari.pool.HikariProxyConnection.commit(HikariProxyConnection.java) + at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.commit(AbstractLogicalConnectionImplementor.java:86) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:282) + at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101) + at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:562) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:743) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) + at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.dao.JpaPersistedResourceValidationSupport$$EnhancerBySpringCGLIB$$6f5782ab.getFhirContext() + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:136) + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:121) + at ca.uhn.fhir.jpa.validation.JpaValidationSupportChain.postConstruct(JpaValidationSupportChain.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.jpaValidationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.validationSupportChain(BaseConfigDstu3Plus.java:90) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.CGLIB$validationSupportChain$253() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624$$FastClassBySpringCGLIB$$6a3438f4.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.validationSupportChain() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.validationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.instanceValidator(BaseConfigDstu3Plus.java:96) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.CGLIB$instanceValidator$261() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624$$FastClassBySpringCGLIB$$6a3438f4.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.instanceValidator() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBean(AbstractAutowireCapableBeanFactory.java:325) + at ca.uhn.fhir.jpa.starter.Application.hapiServletRegistration(Application.java:62) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$7ae32c41.CGLIB$hapiServletRegistration$1() + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$7ae32c41$$FastClassBySpringCGLIB$$a62fbd01.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$7ae32c41.hapiServletRegistration() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:86) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:191) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:337) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:175) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:155) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:97) + at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) + at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) + at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) + at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024) + at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) + at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825) + at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475) + at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) + at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) + at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) + at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) + at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.startup.Catalina.start(Catalina.java:772) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) + at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) +2024-05-14 13:12:29 jdbc[5]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.getWarnings(JdbcConnection.java:689) + at com.zaxxer.hikari.pool.HikariProxyConnection.getWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:290) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:790) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) + at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.dao.JpaPersistedResourceValidationSupport$$EnhancerBySpringCGLIB$$6f5782ab.getFhirContext() + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:136) + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:121) + at ca.uhn.fhir.jpa.validation.JpaValidationSupportChain.postConstruct(JpaValidationSupportChain.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.jpaValidationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.validationSupportChain(BaseConfigDstu3Plus.java:90) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.CGLIB$validationSupportChain$253() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624$$FastClassBySpringCGLIB$$6a3438f4.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.validationSupportChain() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.validationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.instanceValidator(BaseConfigDstu3Plus.java:96) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.CGLIB$instanceValidator$261() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624$$FastClassBySpringCGLIB$$6a3438f4.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.instanceValidator() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBean(AbstractAutowireCapableBeanFactory.java:325) + at ca.uhn.fhir.jpa.starter.Application.hapiServletRegistration(Application.java:62) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$7ae32c41.CGLIB$hapiServletRegistration$1() + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$7ae32c41$$FastClassBySpringCGLIB$$a62fbd01.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$7ae32c41.hapiServletRegistration() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:86) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:191) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:337) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:175) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:155) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:97) + at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) + at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) + at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) + at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024) + at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) + at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825) + at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475) + at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) + at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) + at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) + at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) + at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.startup.Catalina.start(Catalina.java:772) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) + at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) +2024-05-14 13:12:29 jdbc[5]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:703) + at com.zaxxer.hikari.pool.HikariProxyConnection.clearWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:299) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:790) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) + at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.dao.JpaPersistedResourceValidationSupport$$EnhancerBySpringCGLIB$$6f5782ab.getFhirContext() + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:136) + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:121) + at ca.uhn.fhir.jpa.validation.JpaValidationSupportChain.postConstruct(JpaValidationSupportChain.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.jpaValidationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.validationSupportChain(BaseConfigDstu3Plus.java:90) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.CGLIB$validationSupportChain$253() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624$$FastClassBySpringCGLIB$$6a3438f4.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.validationSupportChain() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.validationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.instanceValidator(BaseConfigDstu3Plus.java:96) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.CGLIB$instanceValidator$261() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624$$FastClassBySpringCGLIB$$6a3438f4.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.instanceValidator() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBean(AbstractAutowireCapableBeanFactory.java:325) + at ca.uhn.fhir.jpa.starter.Application.hapiServletRegistration(Application.java:62) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$7ae32c41.CGLIB$hapiServletRegistration$1() + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$7ae32c41$$FastClassBySpringCGLIB$$a62fbd01.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$7ae32c41.hapiServletRegistration() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:86) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:191) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:337) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:175) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:155) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:97) + at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) + at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) + at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) + at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024) + at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) + at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825) + at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475) + at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) + at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) + at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) + at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) + at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.startup.Catalina.start(Catalina.java:772) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) + at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) +2024-05-14 13:12:29 jdbc[5]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.setAutoCommit(JdbcConnection.java:495) + at com.zaxxer.hikari.pool.PoolBase.resetConnectionState(PoolBase.java:206) + at com.zaxxer.hikari.pool.PoolEntry.resetConnectionState(PoolEntry.java:108) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:236) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.closeConnection(DatasourceConnectionProviderImpl.java:127) + at org.hibernate.internal.NonContextualJdbcConnectionAccess.releaseConnection(NonContextualJdbcConnectionAccess.java:49) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:217) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:790) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) + at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:654) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:407) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.dao.JpaPersistedResourceValidationSupport$$EnhancerBySpringCGLIB$$6f5782ab.getFhirContext() + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:136) + at org.hl7.fhir.common.hapi.validation.support.ValidationSupportChain.addValidationSupport(ValidationSupportChain.java:121) + at ca.uhn.fhir.jpa.validation.JpaValidationSupportChain.postConstruct(JpaValidationSupportChain.java:76) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333) + at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.jpaValidationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.validationSupportChain(BaseConfigDstu3Plus.java:90) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.CGLIB$validationSupportChain$253() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624$$FastClassBySpringCGLIB$$6a3438f4.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.validationSupportChain() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.resolveBeanReference(ConfigurationClassEnhancer.java:362) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:334) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.validationSupportChain() + at ca.uhn.fhir.jpa.config.BaseConfigDstu3Plus.instanceValidator(BaseConfigDstu3Plus.java:96) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.CGLIB$instanceValidator$261() + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624$$FastClassBySpringCGLIB$$6a3438f4.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.FhirServerConfigDstu3$$EnhancerBySpringCGLIB$$39d42624.instanceValidator() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1413) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBean(AbstractAutowireCapableBeanFactory.java:325) + at ca.uhn.fhir.jpa.starter.Application.hapiServletRegistration(Application.java:62) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$7ae32c41.CGLIB$hapiServletRegistration$1() + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$7ae32c41$$FastClassBySpringCGLIB$$a62fbd01.invoke() + at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) + at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) + at ca.uhn.fhir.jpa.starter.Application$$EnhancerBySpringCGLIB$$7ae32c41.hapiServletRegistration() + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.(ServletContextInitializerBeans.java:86) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:191) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:337) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:175) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:155) + at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:97) + at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) + at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) + at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) + at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024) + at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) + at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825) + at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475) + at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) + at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) + at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) + at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) + at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) + at org.apache.catalina.startup.Catalina.start(Catalina.java:772) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) + at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) +2024-05-14 13:14:04 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: The database is open in exclusive mode; can not open additional connections [90135-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.engine.Session.checkSuspended(Session.java:1369) + at org.h2.engine.Session.transitionToState(Session.java:1361) + at org.h2.engine.Session.waitIfExclusiveModeEnabled(Session.java:1633) + at org.h2.command.Command.executeQuery(Command.java:186) + at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:114) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java) + at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:57) + at org.hibernate.loader.Loader.getResultSet(Loader.java:2303) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2056) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2018) + at org.hibernate.loader.Loader.doQuery(Loader.java:948) + at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) + at org.hibernate.loader.Loader.doList(Loader.java:2849) + at org.hibernate.loader.Loader.doList(Loader.java:2831) + at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2663) + at org.hibernate.loader.Loader.list(Loader.java:2658) + at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:400) + at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) + at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1414) + at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1625) + at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1593) + at org.hibernate.query.Query.getResultList(Query.java:165) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:126) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:159) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) + at com.sun.proxy.$Proxy208.findAll(Unknown Source) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.lambda$expungeJobsMarkedAsDeleted$8(ResourceReindexingSvcImpl.java:423) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$8b8a43f8.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-14 13:14:04 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcStatement.checkClosed(JdbcStatement.java:1211) + at org.h2.jdbc.JdbcPreparedStatement.checkClosed(JdbcPreparedStatement.java:1738) + at org.h2.jdbc.JdbcStatement.checkClosed(JdbcStatement.java:1185) + at org.h2.jdbc.JdbcStatement.getMaxRows(JdbcStatement.java:430) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.getMaxRows(HikariProxyPreparedStatement.java) + at org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.close(ResourceRegistryStandardImpl.java:183) + at org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.release(ResourceRegistryStandardImpl.java:109) + at org.hibernate.loader.Loader.getResultSet(Loader.java:2308) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2056) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2018) + at org.hibernate.loader.Loader.doQuery(Loader.java:948) + at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) + at org.hibernate.loader.Loader.doList(Loader.java:2849) + at org.hibernate.loader.Loader.doList(Loader.java:2831) + at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2663) + at org.hibernate.loader.Loader.list(Loader.java:2658) + at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:400) + at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) + at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1414) + at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1625) + at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1593) + at org.hibernate.query.Query.getResultList(Query.java:165) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:126) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:159) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) + at com.sun.proxy.$Proxy208.findAll(Unknown Source) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.lambda$expungeJobsMarkedAsDeleted$8(ResourceReindexingSvcImpl.java:423) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$8b8a43f8.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-14 13:14:04 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1500) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:556) + at com.zaxxer.hikari.pool.ProxyConnection.rollback(ProxyConnection.java:359) + at com.zaxxer.hikari.pool.HikariProxyConnection.rollback(HikariProxyConnection.java) + at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.rollback(AbstractLogicalConnectionImplementor.java:121) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.rollback(JdbcResourceLocalTransactionCoordinatorImpl.java:304) + at org.hibernate.engine.transaction.internal.TransactionImpl.rollback(TransactionImpl.java:142) + at org.springframework.orm.jpa.JpaTransactionManager.doRollback(JpaTransactionManager.java:589) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:835) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$8b8a43f8.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-14 13:14:04 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.getWarnings(JdbcConnection.java:689) + at com.zaxxer.hikari.pool.HikariProxyConnection.getWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:290) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$8b8a43f8.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-14 13:14:04 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:703) + at com.zaxxer.hikari.pool.HikariProxyConnection.clearWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:299) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$8b8a43f8.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-14 13:14:04 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1500) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:556) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:230) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.closeConnection(DatasourceConnectionProviderImpl.java:127) + at org.hibernate.internal.NonContextualJdbcConnectionAccess.releaseConnection(NonContextualJdbcConnectionAccess.java:49) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:217) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$8b8a43f8.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-15 13:15:59 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: The database is open in exclusive mode; can not open additional connections [90135-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.engine.Session.checkSuspended(Session.java:1369) + at org.h2.engine.Session.transitionToState(Session.java:1361) + at org.h2.engine.Session.waitIfExclusiveModeEnabled(Session.java:1633) + at org.h2.command.Command.executeQuery(Command.java:186) + at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:114) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java) + at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:57) + at org.hibernate.loader.Loader.getResultSet(Loader.java:2303) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2056) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2018) + at org.hibernate.loader.Loader.doQuery(Loader.java:948) + at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) + at org.hibernate.loader.Loader.doList(Loader.java:2849) + at org.hibernate.loader.Loader.doList(Loader.java:2831) + at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2663) + at org.hibernate.loader.Loader.list(Loader.java:2658) + at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:400) + at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) + at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1414) + at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1625) + at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1593) + at org.hibernate.query.Query.getResultList(Query.java:165) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:126) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:159) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) + at com.sun.proxy.$Proxy208.findAll(Unknown Source) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.lambda$expungeJobsMarkedAsDeleted$8(ResourceReindexingSvcImpl.java:423) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$f4e3e1a7.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-15 13:15:59 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcStatement.checkClosed(JdbcStatement.java:1211) + at org.h2.jdbc.JdbcPreparedStatement.checkClosed(JdbcPreparedStatement.java:1738) + at org.h2.jdbc.JdbcStatement.checkClosed(JdbcStatement.java:1185) + at org.h2.jdbc.JdbcStatement.getMaxRows(JdbcStatement.java:430) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.getMaxRows(HikariProxyPreparedStatement.java) + at org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.close(ResourceRegistryStandardImpl.java:183) + at org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.release(ResourceRegistryStandardImpl.java:109) + at org.hibernate.loader.Loader.getResultSet(Loader.java:2308) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2056) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2018) + at org.hibernate.loader.Loader.doQuery(Loader.java:948) + at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) + at org.hibernate.loader.Loader.doList(Loader.java:2849) + at org.hibernate.loader.Loader.doList(Loader.java:2831) + at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2663) + at org.hibernate.loader.Loader.list(Loader.java:2658) + at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:400) + at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) + at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1414) + at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1625) + at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1593) + at org.hibernate.query.Query.getResultList(Query.java:165) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:126) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:159) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) + at com.sun.proxy.$Proxy208.findAll(Unknown Source) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.lambda$expungeJobsMarkedAsDeleted$8(ResourceReindexingSvcImpl.java:423) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$f4e3e1a7.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-15 13:15:59 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1500) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:556) + at com.zaxxer.hikari.pool.ProxyConnection.rollback(ProxyConnection.java:359) + at com.zaxxer.hikari.pool.HikariProxyConnection.rollback(HikariProxyConnection.java) + at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.rollback(AbstractLogicalConnectionImplementor.java:121) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.rollback(JdbcResourceLocalTransactionCoordinatorImpl.java:304) + at org.hibernate.engine.transaction.internal.TransactionImpl.rollback(TransactionImpl.java:142) + at org.springframework.orm.jpa.JpaTransactionManager.doRollback(JpaTransactionManager.java:589) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:835) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$f4e3e1a7.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-15 13:15:59 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.getWarnings(JdbcConnection.java:689) + at com.zaxxer.hikari.pool.HikariProxyConnection.getWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:290) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$f4e3e1a7.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-15 13:15:59 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:703) + at com.zaxxer.hikari.pool.HikariProxyConnection.clearWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:299) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$f4e3e1a7.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-15 13:15:59 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1500) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:556) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:230) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.closeConnection(DatasourceConnectionProviderImpl.java:127) + at org.hibernate.internal.NonContextualJdbcConnectionAccess.releaseConnection(NonContextualJdbcConnectionAccess.java:49) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:217) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$f4e3e1a7.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-17 08:55:17 jdbc[14]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: The database is open in exclusive mode; can not open additional connections [90135-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.engine.Session.checkSuspended(Session.java:1369) + at org.h2.engine.Session.transitionToState(Session.java:1361) + at org.h2.engine.Session.waitIfExclusiveModeEnabled(Session.java:1633) + at org.h2.command.Command.executeQuery(Command.java:186) + at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:114) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java) + at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:57) + at org.hibernate.loader.Loader.getResultSet(Loader.java:2303) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2056) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2018) + at org.hibernate.loader.Loader.doQuery(Loader.java:948) + at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) + at org.hibernate.loader.Loader.doList(Loader.java:2849) + at org.hibernate.loader.Loader.doList(Loader.java:2831) + at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2663) + at org.hibernate.loader.Loader.list(Loader.java:2658) + at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:400) + at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) + at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1414) + at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1625) + at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1593) + at org.hibernate.query.Query.getResultList(Query.java:165) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$SlicedExecution.doExecute(JpaQueryExecution.java:156) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:159) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) + at com.sun.proxy.$Proxy168.findWhereCreatedBefore(Unknown Source) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.lambda$pollForStaleSearchesAndDeleteThem$1(DatabaseSearchCacheSvcImpl.java:185) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$a41941dd.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$73f47ddb.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-17 08:55:17 jdbc[14]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcStatement.checkClosed(JdbcStatement.java:1211) + at org.h2.jdbc.JdbcPreparedStatement.checkClosed(JdbcPreparedStatement.java:1738) + at org.h2.jdbc.JdbcStatement.checkClosed(JdbcStatement.java:1185) + at org.h2.jdbc.JdbcStatement.getMaxRows(JdbcStatement.java:430) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.getMaxRows(HikariProxyPreparedStatement.java) + at org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.close(ResourceRegistryStandardImpl.java:183) + at org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.release(ResourceRegistryStandardImpl.java:109) + at org.hibernate.loader.Loader.getResultSet(Loader.java:2308) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2056) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2018) + at org.hibernate.loader.Loader.doQuery(Loader.java:948) + at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) + at org.hibernate.loader.Loader.doList(Loader.java:2849) + at org.hibernate.loader.Loader.doList(Loader.java:2831) + at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2663) + at org.hibernate.loader.Loader.list(Loader.java:2658) + at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:400) + at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) + at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1414) + at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1625) + at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1593) + at org.hibernate.query.Query.getResultList(Query.java:165) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$SlicedExecution.doExecute(JpaQueryExecution.java:156) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:159) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) + at com.sun.proxy.$Proxy168.findWhereCreatedBefore(Unknown Source) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.lambda$pollForStaleSearchesAndDeleteThem$1(DatabaseSearchCacheSvcImpl.java:185) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$a41941dd.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$73f47ddb.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-17 08:55:17 jdbc[14]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1500) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:556) + at com.zaxxer.hikari.pool.ProxyConnection.rollback(ProxyConnection.java:359) + at com.zaxxer.hikari.pool.HikariProxyConnection.rollback(HikariProxyConnection.java) + at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.rollback(AbstractLogicalConnectionImplementor.java:121) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.rollback(JdbcResourceLocalTransactionCoordinatorImpl.java:304) + at org.hibernate.engine.transaction.internal.TransactionImpl.rollback(TransactionImpl.java:142) + at org.springframework.orm.jpa.JpaTransactionManager.doRollback(JpaTransactionManager.java:589) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:835) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$a41941dd.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$73f47ddb.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-17 08:55:17 jdbc[14]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.getWarnings(JdbcConnection.java:689) + at com.zaxxer.hikari.pool.HikariProxyConnection.getWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:290) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$a41941dd.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$73f47ddb.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-17 08:55:17 jdbc[14]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:703) + at com.zaxxer.hikari.pool.HikariProxyConnection.clearWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:299) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$a41941dd.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$73f47ddb.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-17 08:55:17 jdbc[14]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1500) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:556) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:230) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.closeConnection(DatasourceConnectionProviderImpl.java:127) + at org.hibernate.internal.NonContextualJdbcConnectionAccess.releaseConnection(NonContextualJdbcConnectionAccess.java:49) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:217) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$a41941dd.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$73f47ddb.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-17 09:13:33 jdbc[7]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.getAutoCommit(JdbcConnection.java:516) + at com.zaxxer.hikari.pool.HikariProxyConnection.getAutoCommit(HikariProxyConnection.java) + at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.determineInitialAutoCommitMode(AbstractLogicalConnectionImplementor.java:135) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.begin(LogicalConnectionManagedImpl.java:281) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.begin(JdbcResourceLocalTransactionCoordinatorImpl.java:246) + at org.hibernate.engine.transaction.internal.TransactionImpl.begin(TransactionImpl.java:83) + at org.springframework.orm.jpa.vendor.HibernateJpaDialect.beginTransaction(HibernateJpaDialect.java:164) + at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:421) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.startTransaction(AbstractPlatformTransactionManager.java:400) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:137) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl.buildExportFiles(BulkDataExportSvcImpl.java:143) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$$FastClassBySpringCGLIB$$87387b51.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$$EnhancerBySpringCGLIB$$8274d46b.buildExportFiles() + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$Job.execute(BulkDataExportSvcImpl.java:549) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-17 09:13:33 jdbc[7]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.setAutoCommit(JdbcConnection.java:495) + at com.zaxxer.hikari.pool.ProxyConnection.setAutoCommit(ProxyConnection.java:377) + at com.zaxxer.hikari.pool.HikariProxyConnection.setAutoCommit(HikariProxyConnection.java) + at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.begin(AbstractLogicalConnectionImplementor.java:72) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.begin(LogicalConnectionManagedImpl.java:283) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.begin(JdbcResourceLocalTransactionCoordinatorImpl.java:246) + at org.hibernate.engine.transaction.internal.TransactionImpl.begin(TransactionImpl.java:83) + at org.springframework.orm.jpa.vendor.HibernateJpaDialect.beginTransaction(HibernateJpaDialect.java:164) + at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:421) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.startTransaction(AbstractPlatformTransactionManager.java:400) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:137) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl.buildExportFiles(BulkDataExportSvcImpl.java:143) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$$FastClassBySpringCGLIB$$87387b51.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$$EnhancerBySpringCGLIB$$8274d46b.buildExportFiles() + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$Job.execute(BulkDataExportSvcImpl.java:549) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-17 09:13:33 jdbc[7]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.getWarnings(JdbcConnection.java:689) + at com.zaxxer.hikari.pool.HikariProxyConnection.getWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:290) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.closeEntityManagerAfterFailedBegin(JpaTransactionManager.java:514) + at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:466) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.startTransaction(AbstractPlatformTransactionManager.java:400) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:137) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl.buildExportFiles(BulkDataExportSvcImpl.java:143) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$$FastClassBySpringCGLIB$$87387b51.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$$EnhancerBySpringCGLIB$$8274d46b.buildExportFiles() + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$Job.execute(BulkDataExportSvcImpl.java:549) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-17 09:13:33 jdbc[7]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:703) + at com.zaxxer.hikari.pool.HikariProxyConnection.clearWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:299) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.closeEntityManagerAfterFailedBegin(JpaTransactionManager.java:514) + at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:466) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.startTransaction(AbstractPlatformTransactionManager.java:400) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:137) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl.buildExportFiles(BulkDataExportSvcImpl.java:143) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$$FastClassBySpringCGLIB$$87387b51.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$$EnhancerBySpringCGLIB$$8274d46b.buildExportFiles() + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$Job.execute(BulkDataExportSvcImpl.java:549) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-05-17 09:13:33 jdbc[7]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:703) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:240) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.closeConnection(DatasourceConnectionProviderImpl.java:127) + at org.hibernate.internal.NonContextualJdbcConnectionAccess.releaseConnection(NonContextualJdbcConnectionAccess.java:49) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:217) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.closeEntityManagerAfterFailedBegin(JpaTransactionManager.java:514) + at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:466) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.startTransaction(AbstractPlatformTransactionManager.java:400) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:137) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl.buildExportFiles(BulkDataExportSvcImpl.java:143) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$$FastClassBySpringCGLIB$$87387b51.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$$EnhancerBySpringCGLIB$$8274d46b.buildExportFiles() + at ca.uhn.fhir.jpa.bulk.export.svc.BulkDataExportSvcImpl$Job.execute(BulkDataExportSvcImpl.java:549) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-04 13:32:33 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: The database is open in exclusive mode; can not open additional connections [90135-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.engine.Session.checkSuspended(Session.java:1369) + at org.h2.engine.Session.transitionToState(Session.java:1361) + at org.h2.engine.Session.waitIfExclusiveModeEnabled(Session.java:1633) + at org.h2.command.Command.executeQuery(Command.java:186) + at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:114) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java) + at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:57) + at org.hibernate.loader.Loader.getResultSet(Loader.java:2303) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2056) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2018) + at org.hibernate.loader.Loader.doQuery(Loader.java:948) + at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) + at org.hibernate.loader.Loader.doList(Loader.java:2849) + at org.hibernate.loader.Loader.doList(Loader.java:2831) + at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2663) + at org.hibernate.loader.Loader.list(Loader.java:2658) + at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:400) + at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) + at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1414) + at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1625) + at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1593) + at org.hibernate.query.Query.getResultList(Query.java:165) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$SlicedExecution.doExecute(JpaQueryExecution.java:156) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:159) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) + at com.sun.proxy.$Proxy168.findWhereCreatedBefore(Unknown Source) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.lambda$pollForStaleSearchesAndDeleteThem$1(DatabaseSearchCacheSvcImpl.java:185) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$22074620.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$f1e2821e.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-04 13:32:33 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcStatement.checkClosed(JdbcStatement.java:1211) + at org.h2.jdbc.JdbcPreparedStatement.checkClosed(JdbcPreparedStatement.java:1738) + at org.h2.jdbc.JdbcStatement.checkClosed(JdbcStatement.java:1185) + at org.h2.jdbc.JdbcStatement.getMaxRows(JdbcStatement.java:430) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.getMaxRows(HikariProxyPreparedStatement.java) + at org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.close(ResourceRegistryStandardImpl.java:183) + at org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.release(ResourceRegistryStandardImpl.java:109) + at org.hibernate.loader.Loader.getResultSet(Loader.java:2308) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2056) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2018) + at org.hibernate.loader.Loader.doQuery(Loader.java:948) + at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) + at org.hibernate.loader.Loader.doList(Loader.java:2849) + at org.hibernate.loader.Loader.doList(Loader.java:2831) + at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2663) + at org.hibernate.loader.Loader.list(Loader.java:2658) + at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:400) + at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) + at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1414) + at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1625) + at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1593) + at org.hibernate.query.Query.getResultList(Query.java:165) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$SlicedExecution.doExecute(JpaQueryExecution.java:156) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:159) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) + at com.sun.proxy.$Proxy168.findWhereCreatedBefore(Unknown Source) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.lambda$pollForStaleSearchesAndDeleteThem$1(DatabaseSearchCacheSvcImpl.java:185) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$22074620.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$f1e2821e.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-04 13:32:33 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1500) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:556) + at com.zaxxer.hikari.pool.ProxyConnection.rollback(ProxyConnection.java:359) + at com.zaxxer.hikari.pool.HikariProxyConnection.rollback(HikariProxyConnection.java) + at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.rollback(AbstractLogicalConnectionImplementor.java:121) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.rollback(JdbcResourceLocalTransactionCoordinatorImpl.java:304) + at org.hibernate.engine.transaction.internal.TransactionImpl.rollback(TransactionImpl.java:142) + at org.springframework.orm.jpa.JpaTransactionManager.doRollback(JpaTransactionManager.java:589) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:835) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$22074620.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$f1e2821e.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-04 13:32:33 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.getWarnings(JdbcConnection.java:689) + at com.zaxxer.hikari.pool.HikariProxyConnection.getWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:290) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$22074620.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$f1e2821e.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-04 13:32:33 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:703) + at com.zaxxer.hikari.pool.HikariProxyConnection.clearWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:299) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$22074620.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$f1e2821e.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-04 13:32:33 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1500) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:556) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:230) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.closeConnection(DatasourceConnectionProviderImpl.java:127) + at org.hibernate.internal.NonContextualJdbcConnectionAccess.releaseConnection(NonContextualJdbcConnectionAccess.java:49) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:217) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$22074620.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$f1e2821e.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-04 13:51:23 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: The database is open in exclusive mode; can not open additional connections [90135-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.engine.Session.checkSuspended(Session.java:1369) + at org.h2.engine.Session.transitionToState(Session.java:1361) + at org.h2.engine.Session.waitIfExclusiveModeEnabled(Session.java:1633) + at org.h2.command.Command.executeQuery(Command.java:186) + at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:114) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java) + at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:57) + at org.hibernate.loader.Loader.getResultSet(Loader.java:2303) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2056) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2018) + at org.hibernate.loader.Loader.doQuery(Loader.java:948) + at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) + at org.hibernate.loader.Loader.doList(Loader.java:2849) + at org.hibernate.loader.Loader.doList(Loader.java:2831) + at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2663) + at org.hibernate.loader.Loader.list(Loader.java:2658) + at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:400) + at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) + at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1414) + at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1625) + at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1593) + at org.hibernate.query.Query.getResultList(Query.java:165) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:126) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:159) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) + at com.sun.proxy.$Proxy208.findAll(Unknown Source) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.lambda$expungeJobsMarkedAsDeleted$8(ResourceReindexingSvcImpl.java:423) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$d75e122d.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-04 13:51:23 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcStatement.checkClosed(JdbcStatement.java:1211) + at org.h2.jdbc.JdbcPreparedStatement.checkClosed(JdbcPreparedStatement.java:1738) + at org.h2.jdbc.JdbcStatement.checkClosed(JdbcStatement.java:1185) + at org.h2.jdbc.JdbcStatement.getMaxRows(JdbcStatement.java:430) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.getMaxRows(HikariProxyPreparedStatement.java) + at org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.close(ResourceRegistryStandardImpl.java:183) + at org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.release(ResourceRegistryStandardImpl.java:109) + at org.hibernate.loader.Loader.getResultSet(Loader.java:2308) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2056) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2018) + at org.hibernate.loader.Loader.doQuery(Loader.java:948) + at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) + at org.hibernate.loader.Loader.doList(Loader.java:2849) + at org.hibernate.loader.Loader.doList(Loader.java:2831) + at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2663) + at org.hibernate.loader.Loader.list(Loader.java:2658) + at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:400) + at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) + at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1414) + at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1625) + at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1593) + at org.hibernate.query.Query.getResultList(Query.java:165) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:126) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:159) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) + at com.sun.proxy.$Proxy208.findAll(Unknown Source) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.lambda$expungeJobsMarkedAsDeleted$8(ResourceReindexingSvcImpl.java:423) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$d75e122d.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-04 13:51:23 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1500) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:556) + at com.zaxxer.hikari.pool.ProxyConnection.rollback(ProxyConnection.java:359) + at com.zaxxer.hikari.pool.HikariProxyConnection.rollback(HikariProxyConnection.java) + at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.rollback(AbstractLogicalConnectionImplementor.java:121) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.rollback(JdbcResourceLocalTransactionCoordinatorImpl.java:304) + at org.hibernate.engine.transaction.internal.TransactionImpl.rollback(TransactionImpl.java:142) + at org.springframework.orm.jpa.JpaTransactionManager.doRollback(JpaTransactionManager.java:589) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:835) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$d75e122d.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-04 13:51:23 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.getWarnings(JdbcConnection.java:689) + at com.zaxxer.hikari.pool.HikariProxyConnection.getWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:290) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$d75e122d.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-04 13:51:23 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:703) + at com.zaxxer.hikari.pool.HikariProxyConnection.clearWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:299) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$d75e122d.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-04 13:51:23 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1500) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:556) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:230) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.closeConnection(DatasourceConnectionProviderImpl.java:127) + at org.hibernate.internal.NonContextualJdbcConnectionAccess.releaseConnection(NonContextualJdbcConnectionAccess.java:49) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:217) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.expungeJobsMarkedAsDeleted(ResourceReindexingSvcImpl.java:422) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.doReindexingPassInsideLock(ResourceReindexingSvcImpl.java:241) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl.runReindexingPass(ResourceReindexingSvcImpl.java:232) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$FastClassBySpringCGLIB$$f3ca5ded.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$$EnhancerBySpringCGLIB$$d75e122d.runReindexingPass() + at ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl$Job.execute(ResourceReindexingSvcImpl.java:215) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-06 10:45:04 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: The database is open in exclusive mode; can not open additional connections [90135-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.engine.Session.checkSuspended(Session.java:1369) + at org.h2.engine.Session.transitionToState(Session.java:1361) + at org.h2.engine.Session.waitIfExclusiveModeEnabled(Session.java:1633) + at org.h2.command.Command.executeQuery(Command.java:186) + at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:114) + at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java) + at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:57) + at org.hibernate.loader.Loader.getResultSet(Loader.java:2303) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2056) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2018) + at org.hibernate.loader.Loader.doQuery(Loader.java:948) + at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) + at org.hibernate.loader.Loader.doList(Loader.java:2849) + at org.hibernate.loader.Loader.doList(Loader.java:2831) + at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2663) + at org.hibernate.loader.Loader.list(Loader.java:2658) + at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:400) + at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) + at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1414) + at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1625) + at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1593) + at org.hibernate.query.Query.getResultList(Query.java:165) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$SlicedExecution.doExecute(JpaQueryExecution.java:156) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:159) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) + at com.sun.proxy.$Proxy168.findWhereCreatedBefore(Unknown Source) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.lambda$pollForStaleSearchesAndDeleteThem$1(DatabaseSearchCacheSvcImpl.java:185) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$2d236ecd.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$fcfeaacb.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-06 10:45:04 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcStatement.checkClosed(JdbcStatement.java:1211) + at org.h2.jdbc.JdbcPreparedStatement.checkClosed(JdbcPreparedStatement.java:1738) + at org.h2.jdbc.JdbcStatement.checkClosed(JdbcStatement.java:1185) + at org.h2.jdbc.JdbcStatement.getMaxRows(JdbcStatement.java:430) + at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.getMaxRows(HikariProxyPreparedStatement.java) + at org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.close(ResourceRegistryStandardImpl.java:183) + at org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.release(ResourceRegistryStandardImpl.java:109) + at org.hibernate.loader.Loader.getResultSet(Loader.java:2308) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2056) + at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2018) + at org.hibernate.loader.Loader.doQuery(Loader.java:948) + at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) + at org.hibernate.loader.Loader.doList(Loader.java:2849) + at org.hibernate.loader.Loader.doList(Loader.java:2831) + at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2663) + at org.hibernate.loader.Loader.list(Loader.java:2658) + at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:400) + at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219) + at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1414) + at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1625) + at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1593) + at org.hibernate.query.Query.getResultList(Query.java:165) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$SlicedExecution.doExecute(JpaQueryExecution.java:156) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:155) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:143) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:159) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:138) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:145) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) + at com.sun.proxy.$Proxy168.findWhereCreatedBefore(Unknown Source) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.lambda$pollForStaleSearchesAndDeleteThem$1(DatabaseSearchCacheSvcImpl.java:185) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$2d236ecd.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$fcfeaacb.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-06 10:45:04 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1500) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:556) + at com.zaxxer.hikari.pool.ProxyConnection.rollback(ProxyConnection.java:359) + at com.zaxxer.hikari.pool.HikariProxyConnection.rollback(HikariProxyConnection.java) + at org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.rollback(AbstractLogicalConnectionImplementor.java:121) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.rollback(JdbcResourceLocalTransactionCoordinatorImpl.java:304) + at org.hibernate.engine.transaction.internal.TransactionImpl.rollback(TransactionImpl.java:142) + at org.springframework.orm.jpa.JpaTransactionManager.doRollback(JpaTransactionManager.java:589) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:835) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$2d236ecd.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$fcfeaacb.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-06 10:45:04 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.getWarnings(JdbcConnection.java:689) + at com.zaxxer.hikari.pool.HikariProxyConnection.getWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:290) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$2d236ecd.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$fcfeaacb.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-06 10:45:04 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1490) + at org.h2.jdbc.JdbcConnection.clearWarnings(JdbcConnection.java:703) + at com.zaxxer.hikari.pool.HikariProxyConnection.clearWarnings(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.handleAndClearWarnings(SqlExceptionHelper.java:299) + at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logAndClearWarnings(SqlExceptionHelper.java:269) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:213) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$2d236ecd.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$fcfeaacb.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) +2024-09-06 10:45:04 jdbc[9]: exception +org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-200] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:622) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.message.DbException.get(DbException.java:170) + at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1514) + at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1500) + at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:556) + at com.zaxxer.hikari.pool.ProxyConnection.close(ProxyConnection.java:230) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.closeConnection(DatasourceConnectionProviderImpl.java:127) + at org.hibernate.internal.NonContextualJdbcConnectionAccess.releaseConnection(NonContextualJdbcConnectionAccess.java:49) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.releaseConnection(LogicalConnectionManagedImpl.java:217) + at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.close(LogicalConnectionManagedImpl.java:259) + at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:175) + at org.hibernate.internal.AbstractSharedSessionContract.close(AbstractSharedSessionContract.java:351) + at org.hibernate.internal.SessionImpl.closeWithoutOpenChecks(SessionImpl.java:376) + at org.hibernate.internal.SessionImpl.close(SessionImpl.java:361) + at org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager(EntityManagerFactoryUtils.java:427) + at org.springframework.orm.jpa.JpaTransactionManager.doCleanupAfterCompletion(JpaTransactionManager.java:650) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:1004) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:875) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:809) + at org.springframework.transaction.support.TransactionTemplate.rollbackOnException(TransactionTemplate.java:168) + at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:144) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl.pollForStaleSearchesAndDeleteThem(DatabaseSearchCacheSvcImpl.java:184) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$FastClassBySpringCGLIB$$f9ac20c0.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.cache.DatabaseSearchCacheSvcImpl$$EnhancerBySpringCGLIB$$2d236ecd.pollForStaleSearchesAndDeleteThem() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.pollForStaleSearchesAndDeleteThem(StaleSearchDeletingSvcImpl.java:57) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl.schedulePollForStaleSearches(StaleSearchDeletingSvcImpl.java:82) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$FastClassBySpringCGLIB$$979cdeaa.invoke() + at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$$EnhancerBySpringCGLIB$$fcfeaacb.schedulePollForStaleSearches() + at ca.uhn.fhir.jpa.search.StaleSearchDeletingSvcImpl$Job.execute(StaleSearchDeletingSvcImpl.java:74) + at org.quartz.core.JobRunShell.run(JobRunShell.java:202) + at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) diff --git a/domain/notification/handler.go b/domain/notification/handler.go index edbd85ea..c2f121af 100644 --- a/domain/notification/handler.go +++ b/domain/notification/handler.go @@ -49,10 +49,14 @@ func (service *handler) Handle(ctx context.Context, notification Notification) e if err != nil { return fmt.Errorf("error while looking up custodian's FHIR server (did=%s): %w", notification.SenderDID, err) } + authServer, err := service.registry.GetCompoundServiceEndpoint(ctx, notification.SenderDID, transfer.SenderServiceName, "auth") + if err != nil { + return fmt.Errorf("error while looking up custodian's Auth server (did=%s): %w", notification.SenderDID, err) + } taskPath := fmt.Sprintf("/Task/%s", notification.TaskID) - accessToken, err := service.nutsClient.RequestServiceAccessToken(ctx, notification.CustomerID, notification.SenderDID, "eOverdracht-sender") + accessToken, err := service.nutsClient.RequestServiceAccessToken(ctx, notification.CustomerID, authServer, "eOverdracht-sender") if err != nil { return err } diff --git a/nuts/client/didman.go b/nuts/client/didman.go deleted file mode 100644 index ecf537c4..00000000 --- a/nuts/client/didman.go +++ /dev/null @@ -1,66 +0,0 @@ -package client - -import ( - "context" - "net/http" - - nutsDIDManClient "github.com/nuts-foundation/nuts-demo-ehr/nuts/client/didman" -) - -type DIDManClient interface { - SearchOrganizations(ctx context.Context, query string, didServiceType *string) ([]nutsDIDManClient.OrganizationSearchResult, error) - GetCompoundServiceEndpoint(ctx context.Context, organizationDID, serviceType string, field string) (string, error) -} - -func (c HTTPClient) SearchOrganizations(ctx context.Context, query string, didServiceType *string) ([]nutsDIDManClient.OrganizationSearchResult, error) { - response, err := c.didman().SearchOrganizations(ctx, &nutsDIDManClient.SearchOrganizationsParams{ - Query: query, - DidServiceType: didServiceType, - }) - if err != nil { - return nil, err - } - err = testResponseCode(http.StatusOK, response) - if err != nil { - return nil, err - } - searchResponse, err := nutsDIDManClient.ParseSearchOrganizationsResponse(response) - if err != nil { - return nil, err - } - return *searchResponse.JSON200, nil -} - -func (c HTTPClient) GetCompoundServiceEndpoint(ctx context.Context, organizationDID, serviceType string, field string) (string, error) { - resolve := true - response, err := c.didman().GetCompoundServiceEndpoint(ctx, organizationDID, serviceType, field, &nutsDIDManClient.GetCompoundServiceEndpointParams{Resolve: &resolve}) - if err != nil { - return "", err - } - err = testResponseCode(http.StatusOK, response) - if err != nil { - return "", err - } - parsedResponse, err := nutsDIDManClient.ParseGetCompoundServiceEndpointResponse(response) - if err != nil { - return "", err - } - return parsedResponse.JSON200.Endpoint, nil -} - -func (c HTTPClient) didman() nutsDIDManClient.ClientInterface { - var response nutsDIDManClient.ClientInterface - var err error - - if c.Authorizer != nil { - requestEditorFn := nutsDIDManClient.RequestEditorFn(c.Authorizer.RequestEditorFn()) - response, err = nutsDIDManClient.NewClientWithResponses(c.getNodeURL(), nutsDIDManClient.WithRequestEditorFn(requestEditorFn)) - } else { - response, err = nutsDIDManClient.NewClientWithResponses(c.getNodeURL()) - } - - if err != nil { - panic(err) - } - return response -} diff --git a/nuts/client/didman/generated.go b/nuts/client/didman/generated.go deleted file mode 100644 index d1257c79..00000000 --- a/nuts/client/didman/generated.go +++ /dev/null @@ -1,1990 +0,0 @@ -// Package didman provides primitives to interact with the openapi HTTP API. -// -// Code generated by github.com/deepmap/oapi-codegen/v2 version v2.1.0 DO NOT EDIT. -package didman - -import ( - "bytes" - "context" - "encoding/json" - "fmt" - "io" - "net/http" - "net/url" - "strings" - - "github.com/oapi-codegen/runtime" -) - -const ( - JwtBearerAuthScopes = "jwtBearerAuth.Scopes" -) - -// CompoundService A creation request for a compound service with endpoints and/or references to endpoints. -type CompoundService struct { - Id string `json:"id"` - - // ServiceEndpoint A map containing service references and/or endpoints. - ServiceEndpoint map[string]interface{} `json:"serviceEndpoint"` - - // Type type of the endpoint. May be freely chosen. - Type string `json:"type"` -} - -// CompoundServiceProperties A creation request for a compound service that contains endpoints. The endpoints can be either absolute endpoints or references. -type CompoundServiceProperties struct { - // ServiceEndpoint A map containing service references and/or endpoints. - ServiceEndpoint map[string]interface{} `json:"serviceEndpoint"` - - // Type type of the endpoint. May be freely chosen. - Type string `json:"type"` -} - -// ContactInformation A set of contact information entries -type ContactInformation struct { - // Email email address for normal priority support - Email string `json:"email"` - - // Name The commonly known name of the service provider - Name string `json:"name"` - - // Phone phoneNumber for high priority support - Phone string `json:"phone"` - - // Website URL of the public website of this Service Provider. Can point to a Nuts specific page with more information about the node and how to contact. - Website string `json:"website"` -} - -// Endpoint A combination of type and URL. -type Endpoint struct { - Id string `json:"id"` - - // ServiceEndpoint An endpoint URL or a reference to another service. - ServiceEndpoint string `json:"serviceEndpoint"` - - // Type type of the endpoint. May be freely chosen. - Type string `json:"type"` -} - -// EndpointProperties A combination of type and URL. -type EndpointProperties struct { - // Endpoint An endpoint URL or a reference to another service. - Endpoint string `json:"endpoint"` - - // Type type of the endpoint. May be freely chosen. - Type string `json:"type"` -} - -// EndpointResponse defines model for EndpointResponse. -type EndpointResponse struct { - // Endpoint The endpoint URL. - Endpoint string `json:"endpoint"` -} - -// GetCompoundServiceEndpointParams defines parameters for GetCompoundServiceEndpoint. -type GetCompoundServiceEndpointParams struct { - // Resolve Whether to resolve references. When true and the given endpoint is a reference it returns the endpoint of the referenced service. - // If false it returns the reference itself. Defaults to true. - Resolve *bool `form:"resolve,omitempty" json:"resolve,omitempty"` - - // Accept The requested return type, defaults to application/json. - Accept *string `json:"accept,omitempty"` -} - -// SearchOrganizationsParams defines parameters for SearchOrganizations. -type SearchOrganizationsParams struct { - // Query Query used for searching the organization by name. The query is matched to the organization's name in a SQL's "LIKE" fashion: it matches partial strings and also names that sound like the given query, using a phonetic transformation algorithm. - Query string `form:"query" json:"query"` - - // DidServiceType Filters organizations by service of the given type in the organizations' DID document (optional). - DidServiceType *string `form:"didServiceType,omitempty" json:"didServiceType,omitempty"` -} - -// AddCompoundServiceJSONRequestBody defines body for AddCompoundService for application/json ContentType. -type AddCompoundServiceJSONRequestBody = CompoundServiceProperties - -// UpdateCompoundServiceJSONRequestBody defines body for UpdateCompoundService for application/json ContentType. -type UpdateCompoundServiceJSONRequestBody = CompoundServiceProperties - -// UpdateContactInformationJSONRequestBody defines body for UpdateContactInformation for application/json ContentType. -type UpdateContactInformationJSONRequestBody = ContactInformation - -// AddEndpointJSONRequestBody defines body for AddEndpoint for application/json ContentType. -type AddEndpointJSONRequestBody = EndpointProperties - -// UpdateEndpointJSONRequestBody defines body for UpdateEndpoint for application/json ContentType. -type UpdateEndpointJSONRequestBody = EndpointProperties - -// RequestEditorFn is the function signature for the RequestEditor callback function -type RequestEditorFn func(ctx context.Context, req *http.Request) error - -// Doer performs HTTP requests. -// -// The standard http.Client implements this interface. -type HttpRequestDoer interface { - Do(req *http.Request) (*http.Response, error) -} - -// Client which conforms to the OpenAPI3 specification for this service. -type Client struct { - // The endpoint of the server conforming to this interface, with scheme, - // https://api.deepmap.com for example. This can contain a path relative - // to the server, such as https://api.deepmap.com/dev-test, and all the - // paths in the swagger spec will be appended to the server. - Server string - - // Doer for performing requests, typically a *http.Client with any - // customized settings, such as certificate chains. - Client HttpRequestDoer - - // A list of callbacks for modifying requests which are generated before sending over - // the network. - RequestEditors []RequestEditorFn -} - -// ClientOption allows setting custom parameters during construction -type ClientOption func(*Client) error - -// Creates a new Client, with reasonable defaults -func NewClient(server string, opts ...ClientOption) (*Client, error) { - // create a client with sane default values - client := Client{ - Server: server, - } - // mutate client and add all optional params - for _, o := range opts { - if err := o(&client); err != nil { - return nil, err - } - } - // ensure the server URL always has a trailing slash - if !strings.HasSuffix(client.Server, "/") { - client.Server += "/" - } - // create httpClient, if not already present - if client.Client == nil { - client.Client = &http.Client{} - } - return &client, nil -} - -// WithHTTPClient allows overriding the default Doer, which is -// automatically created using http.Client. This is useful for tests. -func WithHTTPClient(doer HttpRequestDoer) ClientOption { - return func(c *Client) error { - c.Client = doer - return nil - } -} - -// WithRequestEditorFn allows setting up a callback function, which will be -// called right before sending the request. This can be used to mutate the request. -func WithRequestEditorFn(fn RequestEditorFn) ClientOption { - return func(c *Client) error { - c.RequestEditors = append(c.RequestEditors, fn) - return nil - } -} - -// The interface specification for the client above. -type ClientInterface interface { - // GetCompoundServices request - GetCompoundServices(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*http.Response, error) - - // AddCompoundServiceWithBody request with any body - AddCompoundServiceWithBody(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - - AddCompoundService(ctx context.Context, did string, body AddCompoundServiceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - - // GetCompoundServiceEndpoint request - GetCompoundServiceEndpoint(ctx context.Context, did string, compoundServiceType string, endpointType string, params *GetCompoundServiceEndpointParams, reqEditors ...RequestEditorFn) (*http.Response, error) - - // UpdateCompoundServiceWithBody request with any body - UpdateCompoundServiceWithBody(ctx context.Context, did string, pType string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - - UpdateCompoundService(ctx context.Context, did string, pType string, body UpdateCompoundServiceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - - // GetContactInformation request - GetContactInformation(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*http.Response, error) - - // UpdateContactInformationWithBody request with any body - UpdateContactInformationWithBody(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - - UpdateContactInformation(ctx context.Context, did string, body UpdateContactInformationJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - - // AddEndpointWithBody request with any body - AddEndpointWithBody(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - - AddEndpoint(ctx context.Context, did string, body AddEndpointJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - - // DeleteEndpointsByType request - DeleteEndpointsByType(ctx context.Context, did string, pType string, reqEditors ...RequestEditorFn) (*http.Response, error) - - // UpdateEndpointWithBody request with any body - UpdateEndpointWithBody(ctx context.Context, did string, pType string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - - UpdateEndpoint(ctx context.Context, did string, pType string, body UpdateEndpointJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - - // SearchOrganizations request - SearchOrganizations(ctx context.Context, params *SearchOrganizationsParams, reqEditors ...RequestEditorFn) (*http.Response, error) - - // DeleteService request - DeleteService(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) -} - -func (c *Client) GetCompoundServices(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewGetCompoundServicesRequest(c.Server, did) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) AddCompoundServiceWithBody(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewAddCompoundServiceRequestWithBody(c.Server, did, contentType, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) AddCompoundService(ctx context.Context, did string, body AddCompoundServiceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewAddCompoundServiceRequest(c.Server, did, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) GetCompoundServiceEndpoint(ctx context.Context, did string, compoundServiceType string, endpointType string, params *GetCompoundServiceEndpointParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewGetCompoundServiceEndpointRequest(c.Server, did, compoundServiceType, endpointType, params) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) UpdateCompoundServiceWithBody(ctx context.Context, did string, pType string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewUpdateCompoundServiceRequestWithBody(c.Server, did, pType, contentType, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) UpdateCompoundService(ctx context.Context, did string, pType string, body UpdateCompoundServiceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewUpdateCompoundServiceRequest(c.Server, did, pType, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) GetContactInformation(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewGetContactInformationRequest(c.Server, did) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) UpdateContactInformationWithBody(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewUpdateContactInformationRequestWithBody(c.Server, did, contentType, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) UpdateContactInformation(ctx context.Context, did string, body UpdateContactInformationJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewUpdateContactInformationRequest(c.Server, did, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) AddEndpointWithBody(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewAddEndpointRequestWithBody(c.Server, did, contentType, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) AddEndpoint(ctx context.Context, did string, body AddEndpointJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewAddEndpointRequest(c.Server, did, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) DeleteEndpointsByType(ctx context.Context, did string, pType string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewDeleteEndpointsByTypeRequest(c.Server, did, pType) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) UpdateEndpointWithBody(ctx context.Context, did string, pType string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewUpdateEndpointRequestWithBody(c.Server, did, pType, contentType, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) UpdateEndpoint(ctx context.Context, did string, pType string, body UpdateEndpointJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewUpdateEndpointRequest(c.Server, did, pType, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) SearchOrganizations(ctx context.Context, params *SearchOrganizationsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSearchOrganizationsRequest(c.Server, params) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) DeleteService(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewDeleteServiceRequest(c.Server, id) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -// NewGetCompoundServicesRequest generates requests for GetCompoundServices -func NewGetCompoundServicesRequest(server string, did string) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/didman/v1/did/%s/compoundservice", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("GET", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -// NewAddCompoundServiceRequest calls the generic AddCompoundService builder with application/json body -func NewAddCompoundServiceRequest(server string, did string, body AddCompoundServiceJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewAddCompoundServiceRequestWithBody(server, did, "application/json", bodyReader) -} - -// NewAddCompoundServiceRequestWithBody generates requests for AddCompoundService with any type of body -func NewAddCompoundServiceRequestWithBody(server string, did string, contentType string, body io.Reader) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/didman/v1/did/%s/compoundservice", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("POST", queryURL.String(), body) - if err != nil { - return nil, err - } - - req.Header.Add("Content-Type", contentType) - - return req, nil -} - -// NewGetCompoundServiceEndpointRequest generates requests for GetCompoundServiceEndpoint -func NewGetCompoundServiceEndpointRequest(server string, did string, compoundServiceType string, endpointType string, params *GetCompoundServiceEndpointParams) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - var pathParam1 string - - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "compoundServiceType", runtime.ParamLocationPath, compoundServiceType) - if err != nil { - return nil, err - } - - var pathParam2 string - - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "endpointType", runtime.ParamLocationPath, endpointType) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/didman/v1/did/%s/compoundservice/%s/endpoint/%s", pathParam0, pathParam1, pathParam2) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - if params != nil { - queryValues := queryURL.Query() - - if params.Resolve != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "resolve", runtime.ParamLocationQuery, *params.Resolve); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - - queryURL.RawQuery = queryValues.Encode() - } - - req, err := http.NewRequest("GET", queryURL.String(), nil) - if err != nil { - return nil, err - } - - if params != nil { - - if params.Accept != nil { - var headerParam0 string - - headerParam0, err = runtime.StyleParamWithLocation("simple", false, "accept", runtime.ParamLocationHeader, *params.Accept) - if err != nil { - return nil, err - } - - req.Header.Set("accept", headerParam0) - } - - } - - return req, nil -} - -// NewUpdateCompoundServiceRequest calls the generic UpdateCompoundService builder with application/json body -func NewUpdateCompoundServiceRequest(server string, did string, pType string, body UpdateCompoundServiceJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewUpdateCompoundServiceRequestWithBody(server, did, pType, "application/json", bodyReader) -} - -// NewUpdateCompoundServiceRequestWithBody generates requests for UpdateCompoundService with any type of body -func NewUpdateCompoundServiceRequestWithBody(server string, did string, pType string, contentType string, body io.Reader) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - var pathParam1 string - - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "type", runtime.ParamLocationPath, pType) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/didman/v1/did/%s/compoundservice/%s", pathParam0, pathParam1) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("PUT", queryURL.String(), body) - if err != nil { - return nil, err - } - - req.Header.Add("Content-Type", contentType) - - return req, nil -} - -// NewGetContactInformationRequest generates requests for GetContactInformation -func NewGetContactInformationRequest(server string, did string) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/didman/v1/did/%s/contactinfo", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("GET", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -// NewUpdateContactInformationRequest calls the generic UpdateContactInformation builder with application/json body -func NewUpdateContactInformationRequest(server string, did string, body UpdateContactInformationJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewUpdateContactInformationRequestWithBody(server, did, "application/json", bodyReader) -} - -// NewUpdateContactInformationRequestWithBody generates requests for UpdateContactInformation with any type of body -func NewUpdateContactInformationRequestWithBody(server string, did string, contentType string, body io.Reader) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/didman/v1/did/%s/contactinfo", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("PUT", queryURL.String(), body) - if err != nil { - return nil, err - } - - req.Header.Add("Content-Type", contentType) - - return req, nil -} - -// NewAddEndpointRequest calls the generic AddEndpoint builder with application/json body -func NewAddEndpointRequest(server string, did string, body AddEndpointJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewAddEndpointRequestWithBody(server, did, "application/json", bodyReader) -} - -// NewAddEndpointRequestWithBody generates requests for AddEndpoint with any type of body -func NewAddEndpointRequestWithBody(server string, did string, contentType string, body io.Reader) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/didman/v1/did/%s/endpoint", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("POST", queryURL.String(), body) - if err != nil { - return nil, err - } - - req.Header.Add("Content-Type", contentType) - - return req, nil -} - -// NewDeleteEndpointsByTypeRequest generates requests for DeleteEndpointsByType -func NewDeleteEndpointsByTypeRequest(server string, did string, pType string) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - var pathParam1 string - - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "type", runtime.ParamLocationPath, pType) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/didman/v1/did/%s/endpoint/%s", pathParam0, pathParam1) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("DELETE", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -// NewUpdateEndpointRequest calls the generic UpdateEndpoint builder with application/json body -func NewUpdateEndpointRequest(server string, did string, pType string, body UpdateEndpointJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewUpdateEndpointRequestWithBody(server, did, pType, "application/json", bodyReader) -} - -// NewUpdateEndpointRequestWithBody generates requests for UpdateEndpoint with any type of body -func NewUpdateEndpointRequestWithBody(server string, did string, pType string, contentType string, body io.Reader) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - var pathParam1 string - - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "type", runtime.ParamLocationPath, pType) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/didman/v1/did/%s/endpoint/%s", pathParam0, pathParam1) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("PUT", queryURL.String(), body) - if err != nil { - return nil, err - } - - req.Header.Add("Content-Type", contentType) - - return req, nil -} - -// NewSearchOrganizationsRequest generates requests for SearchOrganizations -func NewSearchOrganizationsRequest(server string, params *SearchOrganizationsParams) (*http.Request, error) { - var err error - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/didman/v1/search/organizations") - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - if params != nil { - queryValues := queryURL.Query() - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "query", runtime.ParamLocationQuery, params.Query); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - if params.DidServiceType != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "didServiceType", runtime.ParamLocationQuery, *params.DidServiceType); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - - queryURL.RawQuery = queryValues.Encode() - } - - req, err := http.NewRequest("GET", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -// NewDeleteServiceRequest generates requests for DeleteService -func NewDeleteServiceRequest(server string, id string) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "id", runtime.ParamLocationPath, id) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/didman/v1/service/%s", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("DELETE", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -func (c *Client) applyEditors(ctx context.Context, req *http.Request, additionalEditors []RequestEditorFn) error { - for _, r := range c.RequestEditors { - if err := r(ctx, req); err != nil { - return err - } - } - for _, r := range additionalEditors { - if err := r(ctx, req); err != nil { - return err - } - } - return nil -} - -// ClientWithResponses builds on ClientInterface to offer response payloads -type ClientWithResponses struct { - ClientInterface -} - -// NewClientWithResponses creates a new ClientWithResponses, which wraps -// Client with return type handling -func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error) { - client, err := NewClient(server, opts...) - if err != nil { - return nil, err - } - return &ClientWithResponses{client}, nil -} - -// WithBaseURL overrides the baseURL. -func WithBaseURL(baseURL string) ClientOption { - return func(c *Client) error { - newBaseURL, err := url.Parse(baseURL) - if err != nil { - return err - } - c.Server = newBaseURL.String() - return nil - } -} - -// ClientWithResponsesInterface is the interface specification for the client with responses above. -type ClientWithResponsesInterface interface { - // GetCompoundServicesWithResponse request - GetCompoundServicesWithResponse(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*GetCompoundServicesResponse, error) - - // AddCompoundServiceWithBodyWithResponse request with any body - AddCompoundServiceWithBodyWithResponse(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*AddCompoundServiceResponse, error) - - AddCompoundServiceWithResponse(ctx context.Context, did string, body AddCompoundServiceJSONRequestBody, reqEditors ...RequestEditorFn) (*AddCompoundServiceResponse, error) - - // GetCompoundServiceEndpointWithResponse request - GetCompoundServiceEndpointWithResponse(ctx context.Context, did string, compoundServiceType string, endpointType string, params *GetCompoundServiceEndpointParams, reqEditors ...RequestEditorFn) (*GetCompoundServiceEndpointResponse, error) - - // UpdateCompoundServiceWithBodyWithResponse request with any body - UpdateCompoundServiceWithBodyWithResponse(ctx context.Context, did string, pType string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateCompoundServiceResponse, error) - - UpdateCompoundServiceWithResponse(ctx context.Context, did string, pType string, body UpdateCompoundServiceJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateCompoundServiceResponse, error) - - // GetContactInformationWithResponse request - GetContactInformationWithResponse(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*GetContactInformationResponse, error) - - // UpdateContactInformationWithBodyWithResponse request with any body - UpdateContactInformationWithBodyWithResponse(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateContactInformationResponse, error) - - UpdateContactInformationWithResponse(ctx context.Context, did string, body UpdateContactInformationJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateContactInformationResponse, error) - - // AddEndpointWithBodyWithResponse request with any body - AddEndpointWithBodyWithResponse(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*AddEndpointResponse, error) - - AddEndpointWithResponse(ctx context.Context, did string, body AddEndpointJSONRequestBody, reqEditors ...RequestEditorFn) (*AddEndpointResponse, error) - - // DeleteEndpointsByTypeWithResponse request - DeleteEndpointsByTypeWithResponse(ctx context.Context, did string, pType string, reqEditors ...RequestEditorFn) (*DeleteEndpointsByTypeResponse, error) - - // UpdateEndpointWithBodyWithResponse request with any body - UpdateEndpointWithBodyWithResponse(ctx context.Context, did string, pType string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateEndpointResponse, error) - - UpdateEndpointWithResponse(ctx context.Context, did string, pType string, body UpdateEndpointJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateEndpointResponse, error) - - // SearchOrganizationsWithResponse request - SearchOrganizationsWithResponse(ctx context.Context, params *SearchOrganizationsParams, reqEditors ...RequestEditorFn) (*SearchOrganizationsResponse, error) - - // DeleteServiceWithResponse request - DeleteServiceWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*DeleteServiceResponse, error) -} - -type GetCompoundServicesResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *[]CompoundService - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r GetCompoundServicesResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r GetCompoundServicesResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type AddCompoundServiceResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *CompoundService - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r AddCompoundServiceResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r AddCompoundServiceResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type GetCompoundServiceEndpointResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *EndpointResponse - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r GetCompoundServiceEndpointResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r GetCompoundServiceEndpointResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type UpdateCompoundServiceResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *CompoundService - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r UpdateCompoundServiceResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r UpdateCompoundServiceResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type GetContactInformationResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *ContactInformation - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r GetContactInformationResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r GetContactInformationResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type UpdateContactInformationResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *ContactInformation - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r UpdateContactInformationResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r UpdateContactInformationResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type AddEndpointResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *Endpoint - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r AddEndpointResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r AddEndpointResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type DeleteEndpointsByTypeResponse struct { - Body []byte - HTTPResponse *http.Response - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r DeleteEndpointsByTypeResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r DeleteEndpointsByTypeResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type UpdateEndpointResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *Endpoint - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r UpdateEndpointResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r UpdateEndpointResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type SearchOrganizationsResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *[]OrganizationSearchResult - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r SearchOrganizationsResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r SearchOrganizationsResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type DeleteServiceResponse struct { - Body []byte - HTTPResponse *http.Response - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r DeleteServiceResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r DeleteServiceResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -// GetCompoundServicesWithResponse request returning *GetCompoundServicesResponse -func (c *ClientWithResponses) GetCompoundServicesWithResponse(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*GetCompoundServicesResponse, error) { - rsp, err := c.GetCompoundServices(ctx, did, reqEditors...) - if err != nil { - return nil, err - } - return ParseGetCompoundServicesResponse(rsp) -} - -// AddCompoundServiceWithBodyWithResponse request with arbitrary body returning *AddCompoundServiceResponse -func (c *ClientWithResponses) AddCompoundServiceWithBodyWithResponse(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*AddCompoundServiceResponse, error) { - rsp, err := c.AddCompoundServiceWithBody(ctx, did, contentType, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseAddCompoundServiceResponse(rsp) -} - -func (c *ClientWithResponses) AddCompoundServiceWithResponse(ctx context.Context, did string, body AddCompoundServiceJSONRequestBody, reqEditors ...RequestEditorFn) (*AddCompoundServiceResponse, error) { - rsp, err := c.AddCompoundService(ctx, did, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseAddCompoundServiceResponse(rsp) -} - -// GetCompoundServiceEndpointWithResponse request returning *GetCompoundServiceEndpointResponse -func (c *ClientWithResponses) GetCompoundServiceEndpointWithResponse(ctx context.Context, did string, compoundServiceType string, endpointType string, params *GetCompoundServiceEndpointParams, reqEditors ...RequestEditorFn) (*GetCompoundServiceEndpointResponse, error) { - rsp, err := c.GetCompoundServiceEndpoint(ctx, did, compoundServiceType, endpointType, params, reqEditors...) - if err != nil { - return nil, err - } - return ParseGetCompoundServiceEndpointResponse(rsp) -} - -// UpdateCompoundServiceWithBodyWithResponse request with arbitrary body returning *UpdateCompoundServiceResponse -func (c *ClientWithResponses) UpdateCompoundServiceWithBodyWithResponse(ctx context.Context, did string, pType string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateCompoundServiceResponse, error) { - rsp, err := c.UpdateCompoundServiceWithBody(ctx, did, pType, contentType, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseUpdateCompoundServiceResponse(rsp) -} - -func (c *ClientWithResponses) UpdateCompoundServiceWithResponse(ctx context.Context, did string, pType string, body UpdateCompoundServiceJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateCompoundServiceResponse, error) { - rsp, err := c.UpdateCompoundService(ctx, did, pType, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseUpdateCompoundServiceResponse(rsp) -} - -// GetContactInformationWithResponse request returning *GetContactInformationResponse -func (c *ClientWithResponses) GetContactInformationWithResponse(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*GetContactInformationResponse, error) { - rsp, err := c.GetContactInformation(ctx, did, reqEditors...) - if err != nil { - return nil, err - } - return ParseGetContactInformationResponse(rsp) -} - -// UpdateContactInformationWithBodyWithResponse request with arbitrary body returning *UpdateContactInformationResponse -func (c *ClientWithResponses) UpdateContactInformationWithBodyWithResponse(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateContactInformationResponse, error) { - rsp, err := c.UpdateContactInformationWithBody(ctx, did, contentType, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseUpdateContactInformationResponse(rsp) -} - -func (c *ClientWithResponses) UpdateContactInformationWithResponse(ctx context.Context, did string, body UpdateContactInformationJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateContactInformationResponse, error) { - rsp, err := c.UpdateContactInformation(ctx, did, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseUpdateContactInformationResponse(rsp) -} - -// AddEndpointWithBodyWithResponse request with arbitrary body returning *AddEndpointResponse -func (c *ClientWithResponses) AddEndpointWithBodyWithResponse(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*AddEndpointResponse, error) { - rsp, err := c.AddEndpointWithBody(ctx, did, contentType, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseAddEndpointResponse(rsp) -} - -func (c *ClientWithResponses) AddEndpointWithResponse(ctx context.Context, did string, body AddEndpointJSONRequestBody, reqEditors ...RequestEditorFn) (*AddEndpointResponse, error) { - rsp, err := c.AddEndpoint(ctx, did, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseAddEndpointResponse(rsp) -} - -// DeleteEndpointsByTypeWithResponse request returning *DeleteEndpointsByTypeResponse -func (c *ClientWithResponses) DeleteEndpointsByTypeWithResponse(ctx context.Context, did string, pType string, reqEditors ...RequestEditorFn) (*DeleteEndpointsByTypeResponse, error) { - rsp, err := c.DeleteEndpointsByType(ctx, did, pType, reqEditors...) - if err != nil { - return nil, err - } - return ParseDeleteEndpointsByTypeResponse(rsp) -} - -// UpdateEndpointWithBodyWithResponse request with arbitrary body returning *UpdateEndpointResponse -func (c *ClientWithResponses) UpdateEndpointWithBodyWithResponse(ctx context.Context, did string, pType string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateEndpointResponse, error) { - rsp, err := c.UpdateEndpointWithBody(ctx, did, pType, contentType, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseUpdateEndpointResponse(rsp) -} - -func (c *ClientWithResponses) UpdateEndpointWithResponse(ctx context.Context, did string, pType string, body UpdateEndpointJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateEndpointResponse, error) { - rsp, err := c.UpdateEndpoint(ctx, did, pType, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseUpdateEndpointResponse(rsp) -} - -// SearchOrganizationsWithResponse request returning *SearchOrganizationsResponse -func (c *ClientWithResponses) SearchOrganizationsWithResponse(ctx context.Context, params *SearchOrganizationsParams, reqEditors ...RequestEditorFn) (*SearchOrganizationsResponse, error) { - rsp, err := c.SearchOrganizations(ctx, params, reqEditors...) - if err != nil { - return nil, err - } - return ParseSearchOrganizationsResponse(rsp) -} - -// DeleteServiceWithResponse request returning *DeleteServiceResponse -func (c *ClientWithResponses) DeleteServiceWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*DeleteServiceResponse, error) { - rsp, err := c.DeleteService(ctx, id, reqEditors...) - if err != nil { - return nil, err - } - return ParseDeleteServiceResponse(rsp) -} - -// ParseGetCompoundServicesResponse parses an HTTP response from a GetCompoundServicesWithResponse call -func ParseGetCompoundServicesResponse(rsp *http.Response) (*GetCompoundServicesResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &GetCompoundServicesResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest []CompoundService - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseAddCompoundServiceResponse parses an HTTP response from a AddCompoundServiceWithResponse call -func ParseAddCompoundServiceResponse(rsp *http.Response) (*AddCompoundServiceResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &AddCompoundServiceResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest CompoundService - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseGetCompoundServiceEndpointResponse parses an HTTP response from a GetCompoundServiceEndpointWithResponse call -func ParseGetCompoundServiceEndpointResponse(rsp *http.Response) (*GetCompoundServiceEndpointResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &GetCompoundServiceEndpointResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest EndpointResponse - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - case rsp.StatusCode == 200: - // Content-type (text/plain) unsupported - - } - - return response, nil -} - -// ParseUpdateCompoundServiceResponse parses an HTTP response from a UpdateCompoundServiceWithResponse call -func ParseUpdateCompoundServiceResponse(rsp *http.Response) (*UpdateCompoundServiceResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &UpdateCompoundServiceResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest CompoundService - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseGetContactInformationResponse parses an HTTP response from a GetContactInformationWithResponse call -func ParseGetContactInformationResponse(rsp *http.Response) (*GetContactInformationResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &GetContactInformationResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest ContactInformation - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseUpdateContactInformationResponse parses an HTTP response from a UpdateContactInformationWithResponse call -func ParseUpdateContactInformationResponse(rsp *http.Response) (*UpdateContactInformationResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &UpdateContactInformationResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest ContactInformation - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseAddEndpointResponse parses an HTTP response from a AddEndpointWithResponse call -func ParseAddEndpointResponse(rsp *http.Response) (*AddEndpointResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &AddEndpointResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest Endpoint - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseDeleteEndpointsByTypeResponse parses an HTTP response from a DeleteEndpointsByTypeWithResponse call -func ParseDeleteEndpointsByTypeResponse(rsp *http.Response) (*DeleteEndpointsByTypeResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &DeleteEndpointsByTypeResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseUpdateEndpointResponse parses an HTTP response from a UpdateEndpointWithResponse call -func ParseUpdateEndpointResponse(rsp *http.Response) (*UpdateEndpointResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &UpdateEndpointResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest Endpoint - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseSearchOrganizationsResponse parses an HTTP response from a SearchOrganizationsWithResponse call -func ParseSearchOrganizationsResponse(rsp *http.Response) (*SearchOrganizationsResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &SearchOrganizationsResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest []OrganizationSearchResult - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseDeleteServiceResponse parses an HTTP response from a DeleteServiceWithResponse call -func ParseDeleteServiceResponse(rsp *http.Response) (*DeleteServiceResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &DeleteServiceResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} diff --git a/nuts/client/didman/types.go b/nuts/client/didman/types.go deleted file mode 100644 index 3ee5bd8c..00000000 --- a/nuts/client/didman/types.go +++ /dev/null @@ -1,8 +0,0 @@ -package didman - -import "github.com/nuts-foundation/go-did/did" - -type OrganizationSearchResult struct { - DIDDocument did.Document `json:"didDocument"` - Organization map[string]interface{} `json:"organization"` -} diff --git a/nuts/client/vdr/generated.go b/nuts/client/vdr/generated.go deleted file mode 100644 index bc48395b..00000000 --- a/nuts/client/vdr/generated.go +++ /dev/null @@ -1,1316 +0,0 @@ -// Package vdr provides primitives to interact with the openapi HTTP API. -// -// Code generated by github.com/deepmap/oapi-codegen/v2 version v2.1.0 DO NOT EDIT. -package vdr - -import ( - "bytes" - "context" - "encoding/json" - "fmt" - "io" - "net/http" - "net/url" - "strings" - - externalRef0 "github.com/nuts-foundation/nuts-demo-ehr/nuts/client/common" - "github.com/oapi-codegen/runtime" -) - -const ( - JwtBearerAuthScopes = "jwtBearerAuth.Scopes" -) - -// DIDCreateRequest defines model for DIDCreateRequest. -type DIDCreateRequest struct { - // AssertionMethod indicates if the generated key pair can be used for assertions. - AssertionMethod *bool `json:"assertionMethod,omitempty"` - - // Authentication indicates if the generated key pair can be used for authentication. - Authentication *bool `json:"authentication,omitempty"` - - // CapabilityDelegation indicates if the generated key pair can be used for capability delegations. - CapabilityDelegation *bool `json:"capabilityDelegation,omitempty"` - - // CapabilityInvocation indicates if the generated key pair can be used for altering DID Documents. - // In combination with selfControl = true, the key can be used to alter the new DID Document. - // Defaults to true when not given. - // default: true - CapabilityInvocation *bool `json:"capabilityInvocation,omitempty"` - - // Controllers List of DIDs that can control the new DID Document. If selfControl = true and controllers is not empty, - // the newly generated DID will be added to the list of controllers. - Controllers *[]string `json:"controllers,omitempty"` - - // KeyAgreement indicates if the generated key pair can be used for Key agreements. - KeyAgreement *bool `json:"keyAgreement,omitempty"` - - // SelfControl whether the generated DID Document can be altered with its own capabilityInvocation key. - SelfControl *bool `json:"selfControl,omitempty"` -} - -// DIDDocument A DID document according to the W3C spec following the Nuts Method rules as defined in [Nuts RFC006] -type DIDDocument = externalRef0.DIDDocument - -// DIDDocumentMetadata The DID document metadata. -type DIDDocumentMetadata = externalRef0.DIDDocumentMetadata - -// DIDResolutionResult defines model for DIDResolutionResult. -type DIDResolutionResult struct { - // Document A DID document according to the W3C spec following the Nuts Method rules as defined in [Nuts RFC006] - Document DIDDocument `json:"document"` - - // DocumentMetadata The DID document metadata. - DocumentMetadata DIDDocumentMetadata `json:"documentMetadata"` -} - -// DIDUpdateRequest defines model for DIDUpdateRequest. -type DIDUpdateRequest struct { - // CurrentHash The hash of the document in hex format. No longer used, contents ignored. - // Deprecated: - CurrentHash string `json:"currentHash"` - - // Document A DID document according to the W3C spec following the Nuts Method rules as defined in [Nuts RFC006] - Document DIDDocument `json:"document"` -} - -// VerificationMethod A public key in JWK form. -type VerificationMethod = externalRef0.VerificationMethod - -// VerificationMethodRelationship defines model for VerificationMethodRelationship. -type VerificationMethodRelationship struct { - // AssertionMethod indicates if the generated key pair can be used for assertions. - AssertionMethod *bool `json:"assertionMethod,omitempty"` - - // Authentication indicates if the generated key pair can be used for authentication. - Authentication *bool `json:"authentication,omitempty"` - - // CapabilityDelegation indicates if the generated key pair can be used for capability delegations. - CapabilityDelegation *bool `json:"capabilityDelegation,omitempty"` - - // CapabilityInvocation indicates if the generated key pair can be used for altering DID Documents. - // In combination with selfControl = true, the key can be used to alter the new DID Document. - // Defaults to true when not given. - // default: true - CapabilityInvocation *bool `json:"capabilityInvocation,omitempty"` - - // KeyAgreement indicates if the generated key pair can be used for Key agreements. - KeyAgreement *bool `json:"keyAgreement,omitempty"` - - // SelfControl whether the generated DID Document can be altered with its own capabilityInvocation key. - SelfControl *bool `json:"selfControl,omitempty"` -} - -// GetDIDParams defines parameters for GetDID. -type GetDIDParams struct { - // VersionId If a versionId parameter is provided, the DID resolution algorithm returns a specific version of the DID document. - // The version is the Sha256 hash of the document. - // The DID parameters versionId and versionTime are mutually exclusive. - // - // See [the did resolution spec about versioning](https://w3c-ccg.github.io/did-resolution/#versioning) - VersionId *string `form:"versionId,omitempty" json:"versionId,omitempty"` - - // VersionTime If a versionTime parameter is provided, the DID resolution algorithm returns a specific version of the DID document. - // The DID parameters versionId and versionTime are mutually exclusive. - // - // See [the did resolution spec about versioning](https://w3c-ccg.github.io/did-resolution/#versioning) - VersionTime *string `form:"versionTime,omitempty" json:"versionTime,omitempty"` -} - -// CreateDIDJSONRequestBody defines body for CreateDID for application/json ContentType. -type CreateDIDJSONRequestBody = DIDCreateRequest - -// UpdateDIDJSONRequestBody defines body for UpdateDID for application/json ContentType. -type UpdateDIDJSONRequestBody = DIDUpdateRequest - -// AddNewVerificationMethodJSONRequestBody defines body for AddNewVerificationMethod for application/json ContentType. -type AddNewVerificationMethodJSONRequestBody = VerificationMethodRelationship - -// RequestEditorFn is the function signature for the RequestEditor callback function -type RequestEditorFn func(ctx context.Context, req *http.Request) error - -// Doer performs HTTP requests. -// -// The standard http.Client implements this interface. -type HttpRequestDoer interface { - Do(req *http.Request) (*http.Response, error) -} - -// Client which conforms to the OpenAPI3 specification for this service. -type Client struct { - // The endpoint of the server conforming to this interface, with scheme, - // https://api.deepmap.com for example. This can contain a path relative - // to the server, such as https://api.deepmap.com/dev-test, and all the - // paths in the swagger spec will be appended to the server. - Server string - - // Doer for performing requests, typically a *http.Client with any - // customized settings, such as certificate chains. - Client HttpRequestDoer - - // A list of callbacks for modifying requests which are generated before sending over - // the network. - RequestEditors []RequestEditorFn -} - -// ClientOption allows setting custom parameters during construction -type ClientOption func(*Client) error - -// Creates a new Client, with reasonable defaults -func NewClient(server string, opts ...ClientOption) (*Client, error) { - // create a client with sane default values - client := Client{ - Server: server, - } - // mutate client and add all optional params - for _, o := range opts { - if err := o(&client); err != nil { - return nil, err - } - } - // ensure the server URL always has a trailing slash - if !strings.HasSuffix(client.Server, "/") { - client.Server += "/" - } - // create httpClient, if not already present - if client.Client == nil { - client.Client = &http.Client{} - } - return &client, nil -} - -// WithHTTPClient allows overriding the default Doer, which is -// automatically created using http.Client. This is useful for tests. -func WithHTTPClient(doer HttpRequestDoer) ClientOption { - return func(c *Client) error { - c.Client = doer - return nil - } -} - -// WithRequestEditorFn allows setting up a callback function, which will be -// called right before sending the request. This can be used to mutate the request. -func WithRequestEditorFn(fn RequestEditorFn) ClientOption { - return func(c *Client) error { - c.RequestEditors = append(c.RequestEditors, fn) - return nil - } -} - -// The interface specification for the client above. -type ClientInterface interface { - // CreateDIDWithBody request with any body - CreateDIDWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - - CreateDID(ctx context.Context, body CreateDIDJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - - // ConflictedDIDs request - ConflictedDIDs(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) - - // DeactivateDID request - DeactivateDID(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*http.Response, error) - - // GetDID request - GetDID(ctx context.Context, did string, params *GetDIDParams, reqEditors ...RequestEditorFn) (*http.Response, error) - - // UpdateDIDWithBody request with any body - UpdateDIDWithBody(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - - UpdateDID(ctx context.Context, did string, body UpdateDIDJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - - // AddNewVerificationMethodWithBody request with any body - AddNewVerificationMethodWithBody(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - - AddNewVerificationMethod(ctx context.Context, did string, body AddNewVerificationMethodJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - - // DeleteVerificationMethod request - DeleteVerificationMethod(ctx context.Context, did string, kid string, reqEditors ...RequestEditorFn) (*http.Response, error) -} - -func (c *Client) CreateDIDWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewCreateDIDRequestWithBody(c.Server, contentType, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) CreateDID(ctx context.Context, body CreateDIDJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewCreateDIDRequest(c.Server, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) ConflictedDIDs(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewConflictedDIDsRequest(c.Server) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) DeactivateDID(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewDeactivateDIDRequest(c.Server, did) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) GetDID(ctx context.Context, did string, params *GetDIDParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewGetDIDRequest(c.Server, did, params) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) UpdateDIDWithBody(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewUpdateDIDRequestWithBody(c.Server, did, contentType, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) UpdateDID(ctx context.Context, did string, body UpdateDIDJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewUpdateDIDRequest(c.Server, did, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) AddNewVerificationMethodWithBody(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewAddNewVerificationMethodRequestWithBody(c.Server, did, contentType, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) AddNewVerificationMethod(ctx context.Context, did string, body AddNewVerificationMethodJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewAddNewVerificationMethodRequest(c.Server, did, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -func (c *Client) DeleteVerificationMethod(ctx context.Context, did string, kid string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewDeleteVerificationMethodRequest(c.Server, did, kid) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -// NewCreateDIDRequest calls the generic CreateDID builder with application/json body -func NewCreateDIDRequest(server string, body CreateDIDJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewCreateDIDRequestWithBody(server, "application/json", bodyReader) -} - -// NewCreateDIDRequestWithBody generates requests for CreateDID with any type of body -func NewCreateDIDRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { - var err error - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/vdr/v1/did") - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("POST", queryURL.String(), body) - if err != nil { - return nil, err - } - - req.Header.Add("Content-Type", contentType) - - return req, nil -} - -// NewConflictedDIDsRequest generates requests for ConflictedDIDs -func NewConflictedDIDsRequest(server string) (*http.Request, error) { - var err error - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/vdr/v1/did/conflicted") - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("GET", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -// NewDeactivateDIDRequest generates requests for DeactivateDID -func NewDeactivateDIDRequest(server string, did string) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/vdr/v1/did/%s", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("DELETE", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -// NewGetDIDRequest generates requests for GetDID -func NewGetDIDRequest(server string, did string, params *GetDIDParams) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/vdr/v1/did/%s", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - if params != nil { - queryValues := queryURL.Query() - - if params.VersionId != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "versionId", runtime.ParamLocationQuery, *params.VersionId); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - - if params.VersionTime != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "versionTime", runtime.ParamLocationQuery, *params.VersionTime); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - - queryURL.RawQuery = queryValues.Encode() - } - - req, err := http.NewRequest("GET", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -// NewUpdateDIDRequest calls the generic UpdateDID builder with application/json body -func NewUpdateDIDRequest(server string, did string, body UpdateDIDJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewUpdateDIDRequestWithBody(server, did, "application/json", bodyReader) -} - -// NewUpdateDIDRequestWithBody generates requests for UpdateDID with any type of body -func NewUpdateDIDRequestWithBody(server string, did string, contentType string, body io.Reader) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/vdr/v1/did/%s", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("PUT", queryURL.String(), body) - if err != nil { - return nil, err - } - - req.Header.Add("Content-Type", contentType) - - return req, nil -} - -// NewAddNewVerificationMethodRequest calls the generic AddNewVerificationMethod builder with application/json body -func NewAddNewVerificationMethodRequest(server string, did string, body AddNewVerificationMethodJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewAddNewVerificationMethodRequestWithBody(server, did, "application/json", bodyReader) -} - -// NewAddNewVerificationMethodRequestWithBody generates requests for AddNewVerificationMethod with any type of body -func NewAddNewVerificationMethodRequestWithBody(server string, did string, contentType string, body io.Reader) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/vdr/v1/did/%s/verificationmethod", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("POST", queryURL.String(), body) - if err != nil { - return nil, err - } - - req.Header.Add("Content-Type", contentType) - - return req, nil -} - -// NewDeleteVerificationMethodRequest generates requests for DeleteVerificationMethod -func NewDeleteVerificationMethodRequest(server string, did string, kid string) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "did", runtime.ParamLocationPath, did) - if err != nil { - return nil, err - } - - var pathParam1 string - - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "kid", runtime.ParamLocationPath, kid) - if err != nil { - return nil, err - } - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/internal/vdr/v1/did/%s/verificationmethod/%s", pathParam0, pathParam1) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("DELETE", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -func (c *Client) applyEditors(ctx context.Context, req *http.Request, additionalEditors []RequestEditorFn) error { - for _, r := range c.RequestEditors { - if err := r(ctx, req); err != nil { - return err - } - } - for _, r := range additionalEditors { - if err := r(ctx, req); err != nil { - return err - } - } - return nil -} - -// ClientWithResponses builds on ClientInterface to offer response payloads -type ClientWithResponses struct { - ClientInterface -} - -// NewClientWithResponses creates a new ClientWithResponses, which wraps -// Client with return type handling -func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error) { - client, err := NewClient(server, opts...) - if err != nil { - return nil, err - } - return &ClientWithResponses{client}, nil -} - -// WithBaseURL overrides the baseURL. -func WithBaseURL(baseURL string) ClientOption { - return func(c *Client) error { - newBaseURL, err := url.Parse(baseURL) - if err != nil { - return err - } - c.Server = newBaseURL.String() - return nil - } -} - -// ClientWithResponsesInterface is the interface specification for the client with responses above. -type ClientWithResponsesInterface interface { - // CreateDIDWithBodyWithResponse request with any body - CreateDIDWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateDIDResponse, error) - - CreateDIDWithResponse(ctx context.Context, body CreateDIDJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateDIDResponse, error) - - // ConflictedDIDsWithResponse request - ConflictedDIDsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ConflictedDIDsResponse, error) - - // DeactivateDIDWithResponse request - DeactivateDIDWithResponse(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*DeactivateDIDResponse, error) - - // GetDIDWithResponse request - GetDIDWithResponse(ctx context.Context, did string, params *GetDIDParams, reqEditors ...RequestEditorFn) (*GetDIDResponse, error) - - // UpdateDIDWithBodyWithResponse request with any body - UpdateDIDWithBodyWithResponse(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateDIDResponse, error) - - UpdateDIDWithResponse(ctx context.Context, did string, body UpdateDIDJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateDIDResponse, error) - - // AddNewVerificationMethodWithBodyWithResponse request with any body - AddNewVerificationMethodWithBodyWithResponse(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*AddNewVerificationMethodResponse, error) - - AddNewVerificationMethodWithResponse(ctx context.Context, did string, body AddNewVerificationMethodJSONRequestBody, reqEditors ...RequestEditorFn) (*AddNewVerificationMethodResponse, error) - - // DeleteVerificationMethodWithResponse request - DeleteVerificationMethodWithResponse(ctx context.Context, did string, kid string, reqEditors ...RequestEditorFn) (*DeleteVerificationMethodResponse, error) -} - -type CreateDIDResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *DIDDocument - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r CreateDIDResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r CreateDIDResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type ConflictedDIDsResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *[]DIDResolutionResult - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r ConflictedDIDsResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r ConflictedDIDsResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type DeactivateDIDResponse struct { - Body []byte - HTTPResponse *http.Response - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r DeactivateDIDResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r DeactivateDIDResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type GetDIDResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *DIDResolutionResult - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r GetDIDResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r GetDIDResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type UpdateDIDResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *DIDDocument - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r UpdateDIDResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r UpdateDIDResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type AddNewVerificationMethodResponse struct { - Body []byte - HTTPResponse *http.Response - JSON200 *VerificationMethod - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r AddNewVerificationMethodResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r AddNewVerificationMethodResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -type DeleteVerificationMethodResponse struct { - Body []byte - HTTPResponse *http.Response - ApplicationproblemJSONDefault *struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } -} - -// Status returns HTTPResponse.Status -func (r DeleteVerificationMethodResponse) Status() string { - if r.HTTPResponse != nil { - return r.HTTPResponse.Status - } - return http.StatusText(0) -} - -// StatusCode returns HTTPResponse.StatusCode -func (r DeleteVerificationMethodResponse) StatusCode() int { - if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode - } - return 0 -} - -// CreateDIDWithBodyWithResponse request with arbitrary body returning *CreateDIDResponse -func (c *ClientWithResponses) CreateDIDWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateDIDResponse, error) { - rsp, err := c.CreateDIDWithBody(ctx, contentType, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseCreateDIDResponse(rsp) -} - -func (c *ClientWithResponses) CreateDIDWithResponse(ctx context.Context, body CreateDIDJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateDIDResponse, error) { - rsp, err := c.CreateDID(ctx, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseCreateDIDResponse(rsp) -} - -// ConflictedDIDsWithResponse request returning *ConflictedDIDsResponse -func (c *ClientWithResponses) ConflictedDIDsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ConflictedDIDsResponse, error) { - rsp, err := c.ConflictedDIDs(ctx, reqEditors...) - if err != nil { - return nil, err - } - return ParseConflictedDIDsResponse(rsp) -} - -// DeactivateDIDWithResponse request returning *DeactivateDIDResponse -func (c *ClientWithResponses) DeactivateDIDWithResponse(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*DeactivateDIDResponse, error) { - rsp, err := c.DeactivateDID(ctx, did, reqEditors...) - if err != nil { - return nil, err - } - return ParseDeactivateDIDResponse(rsp) -} - -// GetDIDWithResponse request returning *GetDIDResponse -func (c *ClientWithResponses) GetDIDWithResponse(ctx context.Context, did string, params *GetDIDParams, reqEditors ...RequestEditorFn) (*GetDIDResponse, error) { - rsp, err := c.GetDID(ctx, did, params, reqEditors...) - if err != nil { - return nil, err - } - return ParseGetDIDResponse(rsp) -} - -// UpdateDIDWithBodyWithResponse request with arbitrary body returning *UpdateDIDResponse -func (c *ClientWithResponses) UpdateDIDWithBodyWithResponse(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateDIDResponse, error) { - rsp, err := c.UpdateDIDWithBody(ctx, did, contentType, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseUpdateDIDResponse(rsp) -} - -func (c *ClientWithResponses) UpdateDIDWithResponse(ctx context.Context, did string, body UpdateDIDJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateDIDResponse, error) { - rsp, err := c.UpdateDID(ctx, did, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseUpdateDIDResponse(rsp) -} - -// AddNewVerificationMethodWithBodyWithResponse request with arbitrary body returning *AddNewVerificationMethodResponse -func (c *ClientWithResponses) AddNewVerificationMethodWithBodyWithResponse(ctx context.Context, did string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*AddNewVerificationMethodResponse, error) { - rsp, err := c.AddNewVerificationMethodWithBody(ctx, did, contentType, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseAddNewVerificationMethodResponse(rsp) -} - -func (c *ClientWithResponses) AddNewVerificationMethodWithResponse(ctx context.Context, did string, body AddNewVerificationMethodJSONRequestBody, reqEditors ...RequestEditorFn) (*AddNewVerificationMethodResponse, error) { - rsp, err := c.AddNewVerificationMethod(ctx, did, body, reqEditors...) - if err != nil { - return nil, err - } - return ParseAddNewVerificationMethodResponse(rsp) -} - -// DeleteVerificationMethodWithResponse request returning *DeleteVerificationMethodResponse -func (c *ClientWithResponses) DeleteVerificationMethodWithResponse(ctx context.Context, did string, kid string, reqEditors ...RequestEditorFn) (*DeleteVerificationMethodResponse, error) { - rsp, err := c.DeleteVerificationMethod(ctx, did, kid, reqEditors...) - if err != nil { - return nil, err - } - return ParseDeleteVerificationMethodResponse(rsp) -} - -// ParseCreateDIDResponse parses an HTTP response from a CreateDIDWithResponse call -func ParseCreateDIDResponse(rsp *http.Response) (*CreateDIDResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &CreateDIDResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest DIDDocument - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseConflictedDIDsResponse parses an HTTP response from a ConflictedDIDsWithResponse call -func ParseConflictedDIDsResponse(rsp *http.Response) (*ConflictedDIDsResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &ConflictedDIDsResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest []DIDResolutionResult - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseDeactivateDIDResponse parses an HTTP response from a DeactivateDIDWithResponse call -func ParseDeactivateDIDResponse(rsp *http.Response) (*DeactivateDIDResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &DeactivateDIDResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseGetDIDResponse parses an HTTP response from a GetDIDWithResponse call -func ParseGetDIDResponse(rsp *http.Response) (*GetDIDResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &GetDIDResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest DIDResolutionResult - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseUpdateDIDResponse parses an HTTP response from a UpdateDIDWithResponse call -func ParseUpdateDIDResponse(rsp *http.Response) (*UpdateDIDResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &UpdateDIDResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest DIDDocument - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseAddNewVerificationMethodResponse parses an HTTP response from a AddNewVerificationMethodWithResponse call -func ParseAddNewVerificationMethodResponse(rsp *http.Response) (*AddNewVerificationMethodResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &AddNewVerificationMethodResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest VerificationMethod - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON200 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} - -// ParseDeleteVerificationMethodResponse parses an HTTP response from a DeleteVerificationMethodWithResponse call -func ParseDeleteVerificationMethodResponse(rsp *http.Response) (*DeleteVerificationMethodResponse, error) { - bodyBytes, err := io.ReadAll(rsp.Body) - defer func() { _ = rsp.Body.Close() }() - if err != nil { - return nil, err - } - - response := &DeleteVerificationMethodResponse{ - Body: bodyBytes, - HTTPResponse: rsp, - } - - switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && true: - var dest struct { - // Detail A human-readable explanation specific to this occurrence of the problem. - Detail string `json:"detail"` - - // Status HTTP statuscode - Status float32 `json:"status"` - - // Title A short, human-readable summary of the problem type. - Title string `json:"title"` - } - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.ApplicationproblemJSONDefault = &dest - - } - - return response, nil -} diff --git a/nuts/registry/organizations.go b/nuts/registry/organizations.go index 6173f4b6..34198cd9 100644 --- a/nuts/registry/organizations.go +++ b/nuts/registry/organizations.go @@ -71,7 +71,11 @@ func (r remoteOrganizationRegistry) Get(ctx context.Context, organizationDID str } func (r remoteOrganizationRegistry) GetCompoundServiceEndpoint(ctx context.Context, organizationDID, serviceType string, field string) (string, error) { - return r.client.GetCompoundServiceEndpoint(ctx, organizationDID, serviceType, field) + endpoint, err := r.client.ResolveServiceEndpoint(ctx, organizationDID, serviceType, field) + if err != nil { + return "", err + } + return endpoint.(string), nil } func (r remoteOrganizationRegistry) toCache(organizations ...nuts.NutsOrganization) {