From df946ba9f25047978eeb9370f1755ad8d2176cb3 Mon Sep 17 00:00:00 2001 From: Wout Slakhorst Date: Wed, 11 Sep 2024 15:23:15 +0200 Subject: [PATCH] ready to debug pip data addition and checking --- README.md | 9 +- api/api.yaml | 12 +- api/registry.go | 2 +- api/transfer.go | 13 +- .../left/config/demo/customers.json | 2 +- .../config/node/discovery/eOverdracht.json | 26 + docker-compose/left/config/node/nuts.yaml | 2 +- .../left/data/hapi/database/h2.mv.db | Bin 577536 -> 897024 bytes .../right/config/demo/customers.json | 2 +- .../config/node/discovery/eOverdracht.json | 26 + docker-compose/right/config/node/nuts.yaml | 2 +- .../right/data/hapi/database/h2.mv.db | Bin 200704 -> 180224 bytes .../right/data/hapi/database/h2.trace.db | 1932 +++++++++++++++++ domain/episode/service.go | 4 +- domain/fhir/eoverdracht/service.go | 6 +- domain/fhir/eoverdracht/types.go | 2 +- domain/notification/handler.go | 14 +- domain/transfer/receiver/service.go | 18 +- domain/transfer/sender/repository.go | 2 +- domain/transfer/sender/service.go | 103 +- domain/transfer/sender/sql_repository.go | 18 +- domain/transfer/service.go | 8 +- domain/types/generated_types.go | 12 +- domain/zorginzage.go | 11 +- nuts/client/discovery.go | 34 +- nuts/client/discovery/generated.go | 4 +- nuts/client/vdr.go | 21 +- nuts/client/vdr_v2/generated.go | 88 +- nuts/registry/organizations.go | 24 +- nutspxp/client/pip.go | 9 +- web/src/ehr/transfer/EditTransfer.vue | 6 +- 31 files changed, 2174 insertions(+), 238 deletions(-) diff --git a/README.md b/README.md index 7f760522..6c4bfa48 100644 --- a/README.md +++ b/README.md @@ -121,17 +121,14 @@ networks: - 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 +- activate services for discovery using curl statement from below - create `customers.json` files for demo-ehr config - wait 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/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"}}' +docker exec nuts-demo-ehr-node-left-1 curl -X POST "http://localhost:8081/internal/discovery/v1/urn:nuts.nl:usecase:eOverdrachtDemo2024/1" -H "Content-Type: application/json" -d '{"registrationParameters": {"fhir": "https://left.local/fhir/1", "notification":"https://left.local/web/external/transfer/notify"}}' +docker exec nuts-demo-ehr-node-right-1 curl -X POST "http://localhost:8081/internal/discovery/v1/urn:nuts.nl:usecase:eOverdrachtDemo2024/1" -H "Content-Type: application/json" -d '{"registrationParameters": {"fhir": "https://right.local/fhir/1", "notification":"https://right.local/web/external/transfer/notify"}}' ``` ### Run diff --git a/api/api.yaml b/api/api.yaml index 83a0694f..f2bd9d33 100644 --- a/api/api.yaml +++ b/api/api.yaml @@ -876,14 +876,14 @@ components: type: object required: - episodeID - - organizationDID + - organizationID - organizationName properties: id: $ref: '#/components/schemas/ObjectID' episodeID: $ref: '#/components/schemas/ObjectID' - organizationDID: + organizationID: type: string description: The DID of the collaborator organizationName: @@ -1035,10 +1035,10 @@ components: description: An request object to create a new transfer negotiation. type: object required: - - organizationDID + - organizationID - transferDate properties: - organizationDID: + organizationID: description: Decentralized Identifier of the organization to which transfer of a patient is requested. type: string transferDate: @@ -1064,7 +1064,7 @@ components: required: - id - transferID - - organizationDID + - organizationID - organization - taskID - transferDate @@ -1073,7 +1073,7 @@ components: $ref: '#/components/schemas/ObjectID' transferID: $ref: '#/components/schemas/ObjectID' - organizationDID: + organizationID: description: Decentralized Identifier of the organization to which transfer of a patient is requested. type: string taskID: diff --git a/api/registry.go b/api/registry.go index 324f2b1c..ac91859d 100644 --- a/api/registry.go +++ b/api/registry.go @@ -18,7 +18,7 @@ func (w Wrapper) SearchOrganizations(ctx echo.Context) error { if err := ctx.Bind(&request); err != nil { return echo.NewHTTPError(http.StatusBadRequest, err) } - organizations, err := w.NutsClient.SearchDiscoveryService(ctx.Request().Context(), request.Query, request.DiscoveryServiceID, request.DidServiceType) + organizations, err := w.NutsClient.SearchDiscoveryService(ctx.Request().Context(), request.Query, request.DiscoveryServiceID) if err != nil { return echo.NewHTTPError(http.StatusInternalServerError, err) } diff --git a/api/transfer.go b/api/transfer.go index 57879e70..f06348f6 100644 --- a/api/transfer.go +++ b/api/transfer.go @@ -131,7 +131,7 @@ func (w Wrapper) StartTransferNegotiation(ctx echo.Context, transferID string) e if err != nil { return err } - negotiation, err := w.TransferSenderService.CreateNegotiation(ctx.Request().Context(), cid, transferID, request.OrganizationDID) + negotiation, err := w.TransferSenderService.CreateNegotiation(ctx.Request().Context(), cid, transferID, request.OrganizationID) if err != nil { return err } @@ -143,11 +143,11 @@ func (w Wrapper) AssignTransferDirect(ctx echo.Context, transferID string) error if err := ctx.Bind(&request); err != nil { return err } - cid, err := w.getCustomerID(ctx) + customer, err := w.getCustomer(ctx) if err != nil { return err } - _, err = w.TransferSenderService.AssignTransfer(ctx.Request().Context(), cid, transferID, request.OrganizationDID) + _, err = w.TransferSenderService.AssignTransfer(ctx.Request().Context(), *customer, transferID, request.OrganizationID) if err != nil { return err } @@ -165,9 +165,9 @@ func (w Wrapper) ListTransferNegotiations(ctx echo.Context, transferID string) e } // Enrich with organization info for i, negotiation := range negotiations { - organization, err := w.OrganizationRegistry.Get(ctx.Request().Context(), negotiation.OrganizationDID) + organization, err := w.OrganizationRegistry.Get(ctx.Request().Context(), negotiation.OrganizationID) if err != nil { - logrus.Warnf("Error while fetching organization info for negotiation (DID=%s): %v", negotiation.OrganizationDID, err) + logrus.Warnf("Error while fetching organization info for negotiation (DID=%s): %v", negotiation.OrganizationID, err) continue } negotiations[i].Organization = types.FromNutsOrganization(*organization) @@ -228,7 +228,6 @@ func (w Wrapper) NotifyTransferUpdate(ctx echo.Context, taskID string) error { 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, "/") @@ -281,7 +280,7 @@ func (w Wrapper) NotifyTransferUpdate(ctx echo.Context, taskID string) error { if err := w.NotificationHandler.Handle(ctx.Request().Context(), notification.Notification{ TaskID: taskID, - SenderDID: senderDID, + SenderID: senderClientID, CustomerID: customerID, }); err != nil { return err diff --git a/docker-compose/left/config/demo/customers.json b/docker-compose/left/config/demo/customers.json index 89973334..81a29828 100644 --- a/docker-compose/left/config/demo/customers.json +++ b/docker-compose/left/config/demo/customers.json @@ -1,3 +1,3 @@ { - "1":{"active":false,"city":"Enske","domain":"","id":"1","name":"Left"} + "1":{"active":false,"city":"Enske","domain":"https://nuts.left.local","id":"1","name":"Left"} } diff --git a/docker-compose/left/config/node/discovery/eOverdracht.json b/docker-compose/left/config/node/discovery/eOverdracht.json index 607c306d..6de7f019 100644 --- a/docker-compose/left/config/node/discovery/eOverdracht.json +++ b/docker-compose/left/config/node/discovery/eOverdracht.json @@ -73,6 +73,32 @@ } ] } + }, + { + "id": "id_registration_cred", + "constraints": { + "fields": [ + { + "path": [ + "$.type" + ], + "filter": { + "type": "string", + "const": "DiscoveryRegistrationCredential" + } + }, + { + "id": "fhir endpoint", + "path": [ + "$.credentialSubject.fhir", + "$.credentialSubject[0].fhir" + ], + "filter": { + "type": "string" + } + } + ] + } } ] } diff --git a/docker-compose/left/config/node/nuts.yaml b/docker-compose/left/config/node/nuts.yaml index 1f7c9846..a28d731a 100644 --- a/docker-compose/left/config/node/nuts.yaml +++ b/docker-compose/left/config/node/nuts.yaml @@ -17,7 +17,7 @@ discovery: definitions: directory: /nuts/discovery client: - refresh_interval: 1m + refresh_interval: 10m server: ids: - urn:nuts.nl:usecase:eOverdrachtDemo2024 diff --git a/docker-compose/left/data/hapi/database/h2.mv.db b/docker-compose/left/data/hapi/database/h2.mv.db index 11b5d0d36f45c202baf4ffb59c2f749a9784c368..eba0dd07e893758edaa227a1a9e8ee2c9674c5b1 100644 GIT binary patch literal 897024 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

Ey>$)}vcnq#d;ix%PUchvr%W3e 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 z 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�r2m#nYOBRezCB`h_QSI4KtyV~J1>L?~8>zAs}OY(?Mk4s69cXo}zyv(9H zirUB~`ez3vImdb#ydsqn*3;b%pHW9q5m~RWkZ|WjR-UYKNr+4d%&@~})KS1gR_?{c z#iVA(dBi(sgrq66?eH0O6cLckiIYXex+nU0s#9a68b660KBJCe_OUYW#E_I|rJo@$ zTk0ASit*vIUDcbTw*b=>7Zb0#5EGA$j7j#FN4TZ>D-zry(vu8C0X?B`cWgwCM}Ayh zntx`5O5)=w^|r%j)KNS*)-6^Y?V6!URC{FT{d1LaJA6hRMQmfaczI9+=MtY878#Wh ztpGZYQyqmwV^w^5n$pw7MZ+ceDZ?~bcKD1sigw1PYU6q5c&|(!Klk`FpYTXKd`2CG z17mf85dnE=zM;I-FU>0_T49IJsH1>gEFbSJ0m4+?9+9DGF=?31K~zTpvDo~?RJZiV zkmPJlT8be*J=PANQAe?^*i08Mbz-t4ATvKTEF>$-&kmnaN5P<27fE1DAe$Bw#)oTy z^bsj`_>4LV*TiPT2DxRpNMe2bvsFov*;+e%MjeGiV#5<$Ro?L#J~2UFncnVMd3N}W zI*N3}hAL&DDRC~@%0L$`&o3>?4xdp+p@7&hpVZWBi7qbO(?3xgoq`>9o$4r94;!rZ z%T*^N`*>^FfP`pY?4p0Dj-uhPdN!Gl(|S8cyC$Zo)M?>%_>4LVbi+n@g&4hkQldDc zJMWX8jlN8-i#mz~!#c}z+ASaJfX_hu@S}wI3X6nMn3|rA z&JN6XHMn_Y$LF|(Mdqaw1@wf1T(D8j(g;rvm$U#^O`t3x6El5~>L`8%o9)gTVuKUp zF|l63vP{~uhp3JsRIo}vk1Y30k1+2v)+IZa$Bgx|M;(Q5V5N#6X|f_(>g64#RQkFF z+TkD^R2iC-jg{?7brhh0 z4NlK81cdmy1+h75KFu@H4xdp+u?JX%w@fBWjfsf#%kecP1cG<=r#gCl&jx#E1+#&k znPEQ0R9%vDE;30|9X(HHz0#x9E(zf=ajvgZiDYcTjntHLuQQZrrR!tz`(FRQ4I9^SIrKo=RZ zy#@wkyE_M{j8g1Os-vf|tWR`^GD{f~%q8ToImtTA*&3>&r>Cq}q&_54A&tr5^?FVc z?uMO7b@Zr|jnoFYg{l*R!jsZ@sUjIWWgXSgb5X2OJhHoIXnAj$XBe`g+Tkz(tRvBNG>9X%Ck@G&AmMP0~ zjq%Ni42=wqb$12=pHLlnx3jAJ5MyXwSd34ocTkinQ)Y+Hs3ZS#HZ9#F#6L7POd82+ zbiv*@Q@Yhd9XWWj(INgZ`VcNa6B_N8pWqJ3r90J;>o)7=>MKVQK(b%!_b!= zR7XzPY(T2i$LN|Gn;yZ2hRcG1iJnwPZpmzx#y3|Qr0|PmqgY?0$hO00)REsV&Xj1Q zIwv$r8?96aC5B_p7E&E~*0N!NaS~N{c(67hGEOFuVi(~v5I^QAA-=*qR|``jvs{P^ zm+KnuBTw*5PV|;zbc?7b@ zQj9UgXot_JBezP{U6+-eo+*oV_RUI)3yhAm!)Mfy-y$2}?HiMro|72ppAsG!AFr{) zXVj5LB8y%qBLlqrb5x#zv59){ossoXM=pD8ZoY>$DOi=8p6uqH#%2S#1yn~)b!?b- zW=4FrPGJbkaE(vR#knzx>d0x0&COublsO>^UMUI7OUVha!)MfyI~wa59uplF=&K2i z%T39OPsZ7>iR#E-i}hFKc}01rxMye+oZXW0FfW^_jy$SZr7S)ca^6aI*hF zb>yy8@5m#IU})2X{lkZ0bF`+f+x#n^WcH^sE)jK*re#R z03Vky&$zGzb(}00b@!=`{At)YZEB9vEj}qTCQ+BDRD-)bpgQtbVf`~>+=3%?o-wjK zpF~$BcKbuBBTp1IKTj=ZJv`iF-7|uNT(pqmA5k6on6M$yvQSlaw5yjaJJ%;R$;%F( zQAbV|Y<6%I8?Q^uh)4{Sr+en)+TkeGF}b`QKBJEO1lWu; zXO|3PT0mr$f4V+28uyfWR7ZArHapZkKSmZ85E$hg85PK4*UqOpvaqw^8To16>d?$= zog^$Li3iT`8HgWOg%Dq1w)4UavMg)RhdRefyi@a1GnKx9!9)Q)A>%R2ssp6?&e_rc zsheA_G!(OWjOxg`%KG_f)drV%&k&`%(K{y@==_W7$o|P{(^C~$KFK~V>CSFZaU9N# z<5WlXMK&;oGxA=Z(b+Puz##8%&^tkOWI1G6Z%?h-H!?I+5}qHG5)9e-B-N2kkTtr6 zc(Sp|L}$OWe2L5lsQ#Pk$SlTk-r20uJuxOprt7PV)Dcnf>5`n7yg1xbzNb2}oUo~WZV|HJAZ>8AFYgf+?t_~$ z)sanvjg)0auo;ntyyVEBlr-Yw!>Nv}9jvD|C^|Y`6C?AF(8ok30G%VKj`aO3o2!UT z&XoB^r$lE2$$Y`f)=?cP#97Xe9c}bbgt}#iOM}#IXmdT)k;|*Cq?T}yMtbXG^lb3Qkv?G zGMN%Ngn6Fw)KeyQsamPj$}|$5N8W4XFXd%AgN~DM60O!qIc60q-XOK>(4m7f{olER zIWwu$p^?m*taVB?A}i6zd7S}yZjr=SuR>01|wHjn+mm76RU98t2YqCM9Kr(TK zN~Tun4d{dxsaTQIRV5Y3g6cD5<8pNO6tRD^yCEl2an@DzBBP z)JU4GRLgm(TEQuiewtUwc!gRiQ!5N|g83-$sG&G%5 zB}dwF4#}MjMxzYv$v9+vRm!A1&mp5N(t4}q2B>#gErdICu;lXv zVWl-;>m+2(wL8caIvk`Rf^^0PiGfq;jK~vglxq}Po>J6Gb(|C#xTR_iIpCGNL8C)5 zU^&Mlnl#|3ex|P!mRRE`9Bhf5n-bgLZ}A0fAtcBR<7VA5~)t1 zMG9iALMxL>d8t;bP)M~Bxk{^lEP1~FmGY7HQxTCG8VR=N~*v*s{kye zTx&GQd5uDbf1yIQbL5leF!y@=E|KesCLF76z1FsKZ(*%-XcS6Lr{Q@CR@tDI&`~K<%d|R$ zT&kC-)e@DKH{h5lf>{Y`Z98LDC9bvYd{vdY*0vK?fix#qNjMzMl*?YJ0K=9@Ihj$1 zePomwacZlKoJOYu_cW*=8tCL2Y;dfJR9dp3Bu?OaurxYo8aMOErr z+fEe)(n=!)TP4rwjF>$MSTv_sa(Wr3mun#kLMN(~DwUiB{|c*ORH|fpBM-5N!}fxl zsIo9p>$OJiS~;MRJX++c%K*iN#9 zwU)_r8nscOSIBt|N_;)!3W-FbP#ZKdUV>gIRXW_~^m-W>g-$C`Kp=p$r&a>D28C8? zbFFPBXsX1uww)fSQrFscek71qD{x7`jgi+we&>~XT!(RE1@q^OGKgAQtwgQV802zZ z1|dKLcA_=n!eQhLS{{;uN_44sR@$?j-Uw?gQOmU)C($bnbScF3O)l5s9)qhQK&3OP z^hTorcXNrvpjIh063(EPOXUU#_<$WR*J^C-Yul-jDsioCCnl=YwYHs^2&4@f4w?v! z1Q%tk0{jwZtX_`g=Ao9rDieo=BEq1P%T#i@)8Xb0%>r(DDjkUo+M)@!J{53jww+iA zYpuntU#kMpv>LTa1`4V-R3RM zc2c5BTx;7Yfhu*aZRZ36X|)n^8z)g2jT!|nlR>)U^$JJHRP@(f|?Y&?~^*0$5}fHagM zIF_Y)Y%VD-;}YE8Rais__|VUBS}5LhQmukl8w_e_Msaa7@VG7O<&gbk3XQF`ww+A} zYmN3bS~XTpE7Rd>h#juMRSpNV22!QoAcv|(3O%ewse@>*)*191ECMP6r#33(Mzzs$ zfh=LIZD-=C#I?4a2d7fk+IAuwkXB2eF2-R9(H7cP2xn3pg)(B?YCSePr`2ecQWBRq z2uZl|sdzPK)N(SVQYnLOxHQ=elKsx5ElIMkFz=m4Xv%uCTIaC=dN@5eyjBCrO%A^h zl@7c@W;F5;?x8_fN%WiwcNaAd0({kLI5{-Akm?P%5~}rTXzy)t3fnnwKwM$e8THU< z7$lrgVT3qiP(bW~00N0afy)rOCgpJuabQ#iD43+sYC|a|QA-sPsQ4{2Spsxz=g+}1 z8nIS7wL&3N7$8wepb^(&0~?^ThKds+7`UfY!)qXSsc=13NU^nfrCbH(s54?CSrPYQ zxr_u-UE9vRQ;8eKcIF!p23OFlNbxV1L2U#nUSWiaT4_+}zTaN!?s%zV+Z$MfJeG)`S39o}C1Y1Tb)$5gNp669ic<~as7DgEu zYOq^m3eryC_>(}(Er-excMYA5gV1*B8X!!n)5^6vwN9mjw9M%_qeg|jXas(FIqBWx zP?Sq#RHIkn=v8aMwGB$}ah!}2x=7hjd)Q8U1LCk^VU97eknVUMtXK&Z54g3CBrY&( zJ)o|Y>m?}4p=^b`rNh*#G%%mwXqMQNu5G8x!K5qDKJJAO9(g$@l}RApaoA^aj8`v* z<_F3?sS%4W*BOmUsFvs|Z%{$+q}S+Rt&xjIUIcI3>1Zku-nNs$R4Tk}XM+K0C_8k3 zI44ucIGAU&db-JB5pnoJQ=-;LWm=6Mw>ju`pw;JP_&*?FfRL@x!t7~bB*o-B+u2-z zFjx`gS{2Bu4Wv0VN@cL=VQJ;i-x_eYfY}MUMI$HZ>#?eO=ySDFNTocfZvaOd@V1=@ z2E;L5okl8E=!l2nMygZkB`V&i!YxCOYb!1-3LGIuY<%1?)SOZ;gU(tBxdWD9or?$>c9y!z^I4;0Opv8dA0#Xqy z6;>lJg17DbER_gv+u2cwaHSa@ZKp>8Y2X(Ic^n-&88|0yDPUu`IzTyqxrXEe%Ra}c z0cC^Spwr>5%4>0@fixuJB)mcM>y;p8S* zLHD7Bw55QkEz_%E9g*P@#lgo$hxG?2Ejz0O`G9;_i>@(<$!wh%1;nA zq!Qt6J6%Yn!rOMf5SnQojuSj^Y=GnrbG{NLPG~$~YQ-H6>T4A&V&HQMXyIVl*MpBq zwQ8*%(uz?Fh*`LpHTNcIep>=b^A+Zq+z3rsW7ay`2QUl0oL=w=kjU^P53;LLAp`G) zPC*Ifp@B4fyowmI6wXF4gut5}%@Kq9s{7N4G4lq_p;kzI)81#BD4jE(+8;6nY93xmpBX%e>*0_v;q6Tb% zoKT=i#gQw4mCxTxXmfXxkx4=6by9f^q-Z5Z46J1TL**v_6&sT;<2 z`V5eU{-3slQfYwelpMDM7_DKxf&>DO1uY~V(l8kXiv=u;5^zZwZjBtoPmL0)56d!J zZx~#jY-hg!!i;Jir^7`?2HH|1mQt^U9DsA)sDmCwDyS(TQ|ocvkm^aC=XjC_47?G# zO_|1W6qRru*iM`Q; zF9YnAxcuv&IJW_B+c`Hd=^9AwYPiR#U^d3h1@2`yfgnV}+Y3h&bc&o3?p0bW3uGS- zwj*qA4V3rreKSA`I|#`G zJ~eU;IJi*)WrYMDRk)QynTXdokg=iJg%(i>$sdYFprMF#3Gm*HM-gIi$2yY)h|92< z!7Y^ra{G~}B?dWcOM+@qijzcb)M8E`_;HXf)CO28AYL0(;GhOxC5IW(a!D_Nxa}kq zH0fFelxNtW8i?y!g&bNk9vmIiU<-kw+^FQ>W2RB#o&yaPT+J{Q(5}Pz4M!T>Da9i% zg17Ai50waS+vyc572dYeFZ96{#5QbI71p*+0G7sDl%o65D@Nd{cply?o&Dp5Y=*dU| ztCUg!*HY+b!02&)z*1th$j=JYwo@yBI9%DF+|g@r7;t*%xs-B9&qkRJhA@RejYCAK zfvQLW&pU|{PPw>tNNM9~WEwg2D7Gad+gTYf>2Qsu5s)V?97Unegyf^+aUJDgoq@ei z3HE`D3=9Se2xrhHz#+$=Q9v;xfqN|!W@es(y;THn+Zhik5#F}*4OA+;Z6_Q6X)sWO z3~o%&SMqRBfQJo~^lGpUr9pv<6I6j}vbVyziAO>(VdEwV&Ak#@QD`q<4K12!Yj{JN zKYDB)N%Ix<>Z%c%60u}ts<6%%0L-dkKu}5G$_{LDxQyatfa5p>8!$)?&pF|CgL|+F zV}pT7O_q6FLLr{v-^leUD0)P&d3M9tPBl=8=&>E>zf#d-JJLUqmgBsEwFZg?P7cIy z5M2#=`0N|>3iwyUKnhi=4q9v|lyUzj<{+0Spad~s*Gf1Wo*1?x^<%9$HPmHtJ=%so zRt2`C!(EAoXSr4_gO(PyTyRgwpU`fAW8yleLze{Q8)O08pKPtQ?I8b^xYo8q>{seq z+m5jh((q@KtMytr3{2n)@Uevj9-@WJfd46_27??bL%Lev3JdQSh#^X&91DZ%vjSTS zb>_`w%_(q=u^l2GYmLKzgCZ0XJ+9w+9fw_u#}ozyBu$*dat{BI!S#n%!)O9WAIOAy zg>V4Ecnm9<&4bW(bp1+PYumByD|M}H2e$`lh%RuYhj%*ki7?LMk%R`Xb=1(7L)4bT zunETpI7pCI8VY+Ow0A0!tnuU>4sg)wm%i4vgVSTJRj|GABuw#;lws;rOTk89j)E>x z0?CzwJ`v&-tUXdFSfQ!G_BKF3P;23P4W46@hue;8Ux{mNJF0x8uC?v3@*oYP1GIQh z7#le_+Q{IshNXmYSAppzH&r!E1+?|x1Et1e9y&YWg`vTDiK0^E=2UE7+l~s4wbtSq z4r?+gVBzGWfVmv@4kOqGu1L72DbO$I#$fHn%ERS~gON=FojT0uD)@In>Nc~K60T6T z1ImNA4%Rzd1vPS?q8VdR9tNe{cD5)bT@TF44o3>TUjP63BeX#MaJue224FtF}h zFkS+2+p*{|=>|L*P;odL4QgDAIbMkZPE9qByMz|_Cq4!{l}=(*!`TRuznnat<&bLd zXF6PXMI$c~aBYWquS9s;4zgaU@U|Ug9i$=O!G90lC$R5oq4I(G52i)j5+Ih4W*Rp+ z*zR%7!0k@01uFs0p^U;^0~SJ9C5vXd7`$x1s6qVmGuglRsy*h zhoxKtowx>C5G}Z<0+&fxKw%a%;DrgmpoSMo5$O^TW;?z*h~woMoKs23fhTro9oi9i z)u^QgDRdRMD#Aq?ALNjq3{o7_B?}rA7~7?AvW8kyixEJ?BsD5jg&HYdXkhK&6l##cB|*ch@n{lHvh;YcD!~;} zJeNfq#&*>6O58BEV~$tqhOr%V9HaqL9{M_*;&_n2gAc;R0oGxd%b=6iaj=NMx+zf^ zGK;>nS>2Z}asPypK13MLQ#b@ttw!@8sI0tV(+-~9Et-)bL4m}_P zKT|wI#w#D#5jA?eGl2|*{lWuyc>e=Kxelswyeoy`!4`4bk;-Y(@eCGMZ+JK0xP@H_ ziVlSgsttI(s9~xE1t>PO@OPIfU@^c4=&Ion1T!*EUa%J78oRX!-nPSlS0cP^2jQ+% zc-xM`4brd^t6&a+BLmaxz~4lU7YMMG>fja#{txeBwF-!W@=5|6ky9TuiR5OkgR%wT&0w&` zjzbgxLRk^%XIV1tP!wyTNL>xxh;{sJ5XTisi<_^4%sdK`>_Hm(HE0-NaK!B#XO9uS zu5cxU@f?;QxIJ;$+b}a?{Nin00&xmvAtr7ex*Lo|eNIlY@yK4j6&~1naF;z?2JN6Lv5>g4Tk+LRqGVEgKSu7AS!15q#oyB86np}6{mssg#ua z6rx0oFza~KmAKXv|3pmKIvRAPuC?uO&>#(`BKWgF-oZ^A`fwe5+3^MXdC0p^f8kz* zQ&|t21;zEiS9r##pc}&lo|ofxXPNL~tju;eXW}N%1;P42VGu0 z@Gk=YfKP!O4hDE23zu0X9!=ni3I8_8Zm@mXT5H>ppg|mNnDAYI`w|}7Qfu&t#mNnA zu9|~`25xb3+?HSgBl!^K83PQ;yaEgqDgsVT4A%zGYzL9Xq~pp67g#v(!Iuh#4lqqM z495y6kD(?}!q%vT@IV_1?^F!1-ou{+-W_Tcqy@OP&QHC zVum(kCN;9NdvnU!1@D{U_o&p&8_b(b4W=eji$TVYS_oi*Kq3g}!HlehNW=&@jJU!G zAIxm3Me&0RXT>iyHYJ(QjMEpN6xa0^mJa=E@WO*FnGFjL9~toP$k_?Znr$=BbUQm? zX@(aY%cpp;UhaVowPl!IuVgN%q?x^Z{QJrG_V-v@#dY__=|hM8yY`xs>(v00Zqj{QlS+a6U{6iHvj7F$z#WN zC~2afog+0G3pWk#e~2)Z$tCJjpiL|WYS)uzA1$5K>+I2Yn1S>6_MNce(AB!k@WDUy zJ9T}{@UNa7Df0%}^)Ye?ubo#yTYue|z3g${r&q#V*RP#9dE43_&UR()^q9SW$kFq6 z@}BJ?^CsFdFM&+lF(E`#*_ME*QSyL`w_C;m*F?MCnQ@tkyi$ChBBme&IC4Gr$L}le z-aB*qJ!a^vp7YPo+gZ@ib<&74xBBnsds-3VY{=%4^?bAB6zm>8#Mv#}Il$GuSwJA` z?dp!W^oXY2!8e1~XU3%@mqK9Uta;Oitz9-J({ugAhOODIPOy@Fzz-ERNeO3~moQdC3lAE%A7ZFbSzq&Z*($?cWw`}WC zwZtyIACQ%v5tkg(OwXnB%~BJ&lKS<2Kv+nqcYtRzSLYD-W`M%r zJIl}1v@0WQD9n3F8>OVC%ZMC`5^sVI*z2?4>9Go(Ehl&=)_l>@luF}e<7eb^_436* zh{8u%AoQCRghq@%)}X8qqNq?MLa2nM%LpNg`ecUC#$pf}KM|cRCxj@tlLbPh(RkSq z+Vot#d~pz>s8kjR-Litvs@@mM1|evZgYQ3ufJUO+omxnxz}%~aqzTB4fD{PGbin*r z8#xV-x&Rppo(Og1{(mRw0$`U$TMo?0CDl;hW76awF zz8HQvK}k`lETAln#>)ofz31xXivuNv&$57WX6>S*5z%?RzdEr_S@{}8#VQd(B{W?| z2vO84Glb^UwmKTo+3DBO*>XaNf?HW2R2q$!4WS>OtCuehLKKzD0--;xAavmJtTIE0 zf^C%up%R)dBZMfJmKj1vi$O?;MpaG-9kp7V(rCPF2vI033(!mJ<%@$5MaZ&1=$I9R zu1x4rx2#-C5ISkKIHl2e*%12sxqA8HAVd+r zED#z{M|_YCI5)4%5TZa{B|@l#rppK+3e;tW(BL}H9%SENKxfMdA&SRk+25tnc-atw z(D@v_d_fR`Kpl5;Bni||jIOSOtWk(`#jLA?G*HO)grrW$-Nf9i!%VJ=WK77pgw#sR z^two*gj`8TiDZeT@@HMS1(^2geX3n z1wwnR)_MQ$*UQX>DC}B^5GtYRGD3*Ls+l2lpcsUNxMbzzLKN%F0-@4qyleE;ZM|R0)`H#>=X7}tKH^xspxa2$6foli< zG-u!8nO`!Kdas+cchciwEuype^o&F9lt@8|Op{0`iM)|W4~Z<0NcPD5W>13lQDNE0SdGM=f_q3!=mbv*keavW$daS` z?`_w)&b>JA?$)#2?kZf5ulr@r!!6rBj|ePUB4NeyQ_^E1EbAjIS9D;ACrD7lJqru$ zWnXmEA*Rov84#b#c#2XWy%Jeq2~C%g1yZ0qGp735TcH@8Jw6MaEhh`4czBl0TpEp+ zy_qR+-hcP<1>qhLqF8#C{`4!hGHb@-j`Y%5-~j4nAqy;}ixtcQ2NFRO3oMOdd0F6~ z=bHK#2Zh1HBnu3yzkMOY!q(g>0HA^x7R6AsFsxs#7}mW#5aP?ouqZTQi43cRrpw5% zDDW;0ig0MzdZp2L*$j(9A^vwSUmQv)I-;dND~hemgB`fAy>x~} z(G*P#tCTKQFvFrKie|W$MzOpMi^3)T_td{QC{PT=4qgJoT4`ZegLV=CDu`iGq(lqD zT4lwsc3l3s%nXZyAC}0lN@%)_3=2|c5dzj0+ZLm)ptI#+Sax=`s=PCRWMuf~{%+4~ zv}ZQiGn?(1KkS(;_Q+$7bmhoOZVCB!&7Qe#&-`Q0+^|QkZ>01_=5B;JLmqCV+h!&^ zkc_-Rm|m0HAOz@V<-)>Vzibxx`*Zd3#o>OVRe#nMn>8Vv=SydSo2ZwCGFvHKtY8+n znFyL>w$dn;mj(XuTvPwzps+=lWPt^)x3Iv8(-&483#7=Y78ZEHiUn@HeXh(bkOHEX z$O21fx{NH40-l-?aJksF5F&<_hXsORQ4~_k5m*|Hm(8#!TiJ*yLl}53=4C|lgn)(+9g&V>o3k>V3g<W>^$}_P=}i;!sL4X)XPkSZrl>ZKaiY*|P>2+RU&@>0(7PEGWr4wmU=@0KCqd z>cC8MV75CjI~g$AQ`F!0dBi_B${K9GE8#%u@%ZTRog*wUZf#a2cLqWscX;9lxwq0ClF7b}tlf?@3=f+mJl8pZN5to_e5 z^)C(z2ZTu$7}g#O!#eZZ6l~23VptTf+QP7&STU?UdzY1&VNn?B5*bzrO_z~jQJ85n z0=n0GR%W}nADt~H!=h-?maSJBjhD@^DD3oq_wvP|lp;}E`qQJ>%4`|394qs(XRR0Y zvXEhw(!~m9SiOm$iD8vSvAhhc&vQ-vi-SU6VUh)g)w5oagmp*&Km{=@ia>5*SU=Y* zx@00?)1sYs>z7HwqL-7+`jBXis29J~qd?n>>oKS5F{kS>XX-I$>oMo*F(d0U1@)Ox z^$}y28B?FxRG-;gpZTLcv!y<>wLWvNK6Af5^PoQSus(x$nK-E^RC$Rku!PQ*kp)sH zax8idSAD zgi2_-j1Z!D#jh79fbI;Yw7Y8AVmu`X3$ogWww)WKe zGDC>MpqB`t5}Ga}gec6p8A7A$TM1&|LTk>Tv*m;kMKiZRs5BZc8$x5AtCuehLKKGG z0-;S-5GvTUx6BZt=;|dxsD!4=2qB7|Zidj7Vh|d(2c0b^geXY51wy6Kc-auz`dqzy zaS)>D?iL8$vx3l|T}R3cAqv`FB7{n4x{MH_pzLM{JuC*Hf<5SLIUz)`*DVk#jmFD{ z5Cv)f?_Rzj2tlA;tL#exHDbs;sn0yE&vbKSx;rvIIx=$|nR$-Pd`D)1BZa;G*^yc3 z$o%5SEOKOyIWm7aGRGa66OPPDN9J!w=9D9I+L1ZqNCGuQg13zDQL(kYJ?bdd`em=f z6Y6E*1+$bcR`3P$DG@YXFiWFY-V0_o$LE>)7X&Uqp*!`b(DUqZ{lW_-M2=yz z!K4fT78dxUqgW8Tc;I}QSs(@WFOdb7&~zDDAO-F>BVfMcvx3;fKhfE8vOtQ@Z`pdK z(RkTgj{^DscQ0QYN`JEI&w^qrGxrv)%*&p&pQ)FH46BqbRxra_NCZs`t2Bz`WmvyF z*VMl_C@c~tSfp?De7e* z!z!hV70j?s6G0QhDve@!85Ts`=a~8z1O40A$i1ZIR2 zGt!AEaAHO|F{7QBbxzEBC+0UNW`h&+yAyNMiTT%wx#h&%c4F>0F?XGqdrr)KClcS! z3d<(2z`rdl@Tvf*3SxnjrNhDkhd7C4w%Z5qmzf1p@{JN%UOIXx@0 z4L*#{mXifi4h_p@E{(>^-prJ2y<|1WizbbpR1QI4yBaN#R8$5 zRuB?WyOi-sFJ);d5ke(2T}B8|78WyvZWn{l$_e0V<%AF=Td_c>G#W1(LX?%|zkB)O zAVi5;Ed9AtY-RSJrImTvvv!YqS$O7^(!~ls^B}es!L>AsEDnU z(2yC}kQvmF8QhQ=(vZaL2hX*bFAiJ}g=G^?(YuyY^r8T%3KIJ%<&T90PH!L<`!`-1 zSLRc62DMjGFtZYxE+Y$^NllyNs96o375g7vL1)X!0%r-6VSdtE8jY8|nP)#&FJBx= z=UDY;cCnS2Ibr<&2Q2VM>SZAdETxMT%mU{UK@(g{qgXB$2!=K9xu*WbL1Dfy$pXWg z)1XM~UoHTkf*968VaTSeN?`0_hBbZt{4z7FL)2bL46B5u%gC_)q^3;>I9zO79NmD< zmXl!}7AC{Yuu7xxvKiKq=j!E)LutQ;SQm5BD+mK(2rcOLbD1I3pV})4LM1d^MhFd{ zrcDqU*znmiZ)Fd3www?eC`^VKLZ#7o*$^7^T)lj85E^XNpFzb|=I#tynU_6lkZR3m zUMXFy$TJVA7YB4oXi=ju_2Q^Ug{c#Nh>aFfERH)__;X^X!k?3GjTOF6`|gPFb7rl= zpRcXgdK=N#|+ zpa0|IefoBtx2i*Rg|EJ<`l?>IV{^OS{!K}_s1q*_b`r-PhuFdei#TCy4)Yicu|xg8 za!1fDUQl{qmn_}lmPi)scz<%Eh8sw`sg-KE8V*(~O?dY1`19dU-M{IE)4yDJ@2rCl zx#;3&4z2aS`N2~+oWJRmcP15{IrhdYjydV6Gj`8Ss)b7itD}aSc;4iN)n%3HK;zR2 zKfCCu?|=KT?;Y{w{!34}=}+gJdhn6|(*K7aUU>YSFTQz2q5sHtKYaV4tB${C(y*^A zTD5A$9=q?pXodtWO2{KhB$bm9%qpK!piUE){MD|cJA zM7(-BXb6`roU;y-=Va66lVO-KN{O+g3Gn;S;p1toI5Vzhkul4`ij zn%2L3S!FR%?GYj1+0WbvPPYS}*l@*$3xB*%|E8O+IsL9n4ti~B;pdNSIOUCl&prC9 z{YTvP%DFe(`Qpi+N%O|VlUX-(6cL;93(B2IKfL^$V>WC!?8D{#uO9TXpS}J32iJOq z>u>wPb8o%$%v%GcIE9uhU%aeL*)zrQz)xQ^M-BJzhAFX>ZS|6rS@5R^J$mrPZ*6+* z3;n-*@z_89=I}><6BbT7_pBFQf9~arzP2EK$>6f(ORJUL7B8zU-+i#WY8p6?4NKQ` zXVh?Ji0uAtg(Dxj_KgoudHw0n_dj*Q>8Cz?*p(;DYV|f7oV%v2>mJ_5e1K_HY0BEy zZB~O3wP|Lr zoM-kune)vU?YhqSw_4Qsx9W2Ke5SYSHs_f#Pvm?nHoGCn`Oawbnq)+;Io}xrUXvI0 zn)6I?Cv(0T5nXpV4{hz~{ceG_)-%~+9mfomH$19&`*GH=j1nWnBu&OcF?^OrKK zT(@ zsxIeWV#c*@bDmk;M9#M&SQ~8r&Hw&0>36+y|J6~O zkbcKJZn7*jV_WOGEHRf`ld|+`U0FJksn@zKOHAh`%2F$)wIL`=ol&|q$=Y7aQfKUJ zOT^4!&Y^s{wS&GaSp&^?Fd9I!*Pe4v+=$MtNoY!>cPvNd;Ns-zTSWPduQMKz#A`~NIYzfQ&FqJ!TpQk z!7~;wE3Oz=zHp#AIEasI$0;V6#5O*2@YBy<`raGs`;R^5k<(td|D;>??SJ;+AKh}{ zcaD4^YMGY0Zw98Aj9^|dDI}V)e|0S+m|LugkT_&yrg;G0(CthG)~%3WdNCm+S}}hO zfsp8oVysCS>!}Lma-aCm)u)oqhbh{gXz1#wI!Nd1jDM`jC-hoPIwKfs^1`0d3}3iq zuCSpLJ4_UoOcNq?mAOw8XThJ=Pi75E#7;d=*H#ic?U=!aQ0y=}m=rtBIJ~+R zJIoN)MC@EzCw5+BLa%Pc4wHllvD1pbYY4%*Z8$L^Iy3u7w1% zay1bWSJerL!PB%oY=<@{U=5+z zVHPYYcA9ZjbuD(739E_NdA?5UT>cJNwz?iSVKOWsc3SaN4T0F{j1X%GD`jWgR!v^m ztJvv`ysF6ydlfrd=Ajx&vBM-(sn}^jLp5Y#2SS1wsS+Vk&jGcSghV^msUZ{+%seH9 zL^FP@e9knld|;Ny0Y~0CgKn3w!vXeB2kuF(FF}b zS?Y|Js7coLDvmp&7;5suUds}52+6Y4jOnMlvV@#x9-$^Vf82Je6gh`!f4a?irVR(QD3k#thWtg}vrHQ~$`EZ${A5bq06*8Ny208TU<-7xpT4ey$J}wBT`RRxf)M zJ6qEiQxO;2X5NyJV)N6c0dJMCC$hDz)}NH8;v6cWw&W4aa+%udrp zNIX#|B;LJ)C`-B(5=>AdghVUum?01nosrZusk6OSq0abbn!K>rLfsjmOp_P(`h{EO zh8apB!Nf4BkZ3^-(@X~Tnx4!OlL(1=7L~0eB--(|455%@XQiDt21Xu?(fyVP=*@?9_9iY$dVNj(uea#SSyDNU_t5 zC#7q#!z?UK#LjhfV(0rzn$oSLy+^Gai}!Oh+c(fXLKk{Uf65ScgA

@=hC=vwSBNk|j1^H81Gxsf?Nx)nRj6C%V;D+-Ul zR_s7XbjB4jgjJ|B+K(nL>{UoGuZPU}X6zeX=R9+JG|BnHcT^jkpE4Ckw>i)B9wO&k zF>ee(&UZ%f(Ig{!6`q~3bu@WluQ}ft9Y>QF_WFfeX4V+W=HdGtv5hqOyk67uD0*Si zJRG@W%H(wDnZ%B>b@m53n#oF-JF5PT{X^J1Tu!f%LgI3T{pUv)+zZ;4u7w1&ux88@ z(9TpLas4mo@m&cCkg7cWn+N~xBOp~d?b@9EtsgNNin;SVCP(?j!sFTBT_*gkwfh$T z>GNOMZB%~PF1G17y5UxfAce4swxj#S(6-7&r&5btJF14R<=S+iTQeOq44tCom&--F z;ycBlY?h0WUbCID8C87OC|oy^E)AkU5A7f!&GpJv zx2St%qi9EVtr%1hY1eS0uvYU!+cyiZ4yUJjmTeh^g{!QJQ?#p5tr+=%SFCzv(>7eg z^aC5ZG+*jFK_!fwqGwpR)bagdWChit?$?aS^7J4yLHDtPxYYCT8l-~f*hSm)jA9rC zQ8CmjZlw}c9N(!FuH;nn$`zwxc(r0VaF7%}V(nXqg%KHL1HUSP?-%YL!B4GNek}|u zMKh=&FRU;u2EJ8ADtloN7`CmKT~l0W+n!afB4zO@cGY%^5i%6dtXiJqx`t)@g(o>D zyjnG?nxRqDZPP5;fl(`lE=q${!xJ4m&-bd}oTsPyMr3 znuceFQMvF(PAcEjUEM$=QM`~;ei$K=mQ@Ulz%{LM&2pkDXz%%{W)M}02SvA091(AP zzwgwFu3vKurxux2uTnT=6klq&foTOucHONMZQZbnVbuwXNKHS~?XqqfZs7!RspA?I z(=&^R2rjiz41!t(-&S*jvf-LxVEG{3;HSD_fGaCSuZE-rYl&S9JhNP^`l0KXW!H^7 zlmN~v-?u#5_EBMcFTlz1Py&3jXjE;x64{~Q=w9K1?fI#`V_H#U7OT|?F7>KWF*0o% z5q6`Rr+X2yrf|E6E3yuGiMUoPhyYcwP!GMLgJPpwfni0}8W>9Xse$RZ<*Hr8qful* zvr>eQQS@tO)u`2?8Yqbhξ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 delta 48175 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 akA|!}!NtlOT&$du-~g$JtW|ngO8y^X>HJmz diff --git a/docker-compose/right/config/demo/customers.json b/docker-compose/right/config/demo/customers.json index 694ad81a..7fabf5a5 100644 --- a/docker-compose/right/config/demo/customers.json +++ b/docker-compose/right/config/demo/customers.json @@ -1,3 +1,3 @@ { - "1":{"active":false,"city":"Enske","domain":"","id":"1","name":"Right"} + "1":{"active":false,"city":"Enske","domain":"https://nuts.right.local","id":"1","name":"Right"} } diff --git a/docker-compose/right/config/node/discovery/eOverdracht.json b/docker-compose/right/config/node/discovery/eOverdracht.json index 607c306d..6de7f019 100644 --- a/docker-compose/right/config/node/discovery/eOverdracht.json +++ b/docker-compose/right/config/node/discovery/eOverdracht.json @@ -73,6 +73,32 @@ } ] } + }, + { + "id": "id_registration_cred", + "constraints": { + "fields": [ + { + "path": [ + "$.type" + ], + "filter": { + "type": "string", + "const": "DiscoveryRegistrationCredential" + } + }, + { + "id": "fhir endpoint", + "path": [ + "$.credentialSubject.fhir", + "$.credentialSubject[0].fhir" + ], + "filter": { + "type": "string" + } + } + ] + } } ] } diff --git a/docker-compose/right/config/node/nuts.yaml b/docker-compose/right/config/node/nuts.yaml index f5756b52..3c88c0bc 100644 --- a/docker-compose/right/config/node/nuts.yaml +++ b/docker-compose/right/config/node/nuts.yaml @@ -17,7 +17,7 @@ discovery: definitions: directory: /nuts/discovery client: - refresh_interval: 1m + refresh_interval: 10m vdr: didmethods: - web diff --git a/docker-compose/right/data/hapi/database/h2.mv.db b/docker-compose/right/data/hapi/database/h2.mv.db index 7c5512419c88d8653102eb456d684a33de482985..7bfa7addcf83ba0c9522327932f84185eb554f68 100644 GIT binary patch delta 8941 zcmeHM3vd+(AePL8ws>V|7%Jy}Nr$G`TPmtW!sB zY#HqoV}YwKinS`XDmtw;&g^J;=+rXxRT*`(ptW>#tnG|eq*l?Y{r5cf?!8_x!N+u} zcjnG_&YsZmSv^8XsMdP@>8HmDVK*o#NSjKX4MVBuPBQZ(&cJ_z=%GQa1n2Kz5vxpFXJB`q*ol2l1bMF;x^oP-iHO|0R# z8NJN8bamg#bOL&I&HKd*GnIlME)aU%U zfndkIKc@IZFTu{AY#=zd^bZuLZ6?@tsE**gwKWvq*+a0~r1ziF{S3V@zk?1i|8-hF z?VL?z^^J9nk%sC>`!P-Mn>Ml8y-pTSbgw>ujx8?(Pt3%I;_i~g71JVBNEXV33NleM zWld%!Rk4GT<1Sakhca74Hk*pgd@GyOxk|LZ?=t5M@T{z3O(M0$)UjHguSN!;f# z?sUy}xuwO70;lWIHR(009lLYzyWspb>U}#j6Lxe}U%G4Mn)F~ox;L=S$wsvq6@0Ga z*^9KM9xG`aW@a%PBsA6GQR$#gXi&$MZV}%cnbMuCbcg__btNq+#^U5vIUJ3)pu6-rDuyYow8y>l)Gf{)klOw-7YhDe~pB$-3{<{ISK0P9S zzoY@3_tHq&`ZsFOcXo~(*kaY8)L!qJt3+=+TKz|_V^};`Su%dY@Eq@qHdH+x-Snb& zp@v?sL^tdm`DowdDsO^l4I}&iX;-3q zy1e0KXl4!C{UdKj8tt5bp4shPxfVUzm=S6Z?yVOES*VS)3f(gJtM;9fhv7;s>X!W~ zZ1;nglkE=gG;0fNXTVdhTS9Pl2W)4k&#B%-@&4xtc4QV%yp`VHxok11ckY8@0PgQR zbRNO3o~K|N!-aWg!8Z1B_XdL9I(?vfE3MCOpaaZ*nAT5gTT(vi?cN@F`kjqJ`DbkR zVB@FA#&5VQ*jl-b?~1RYsTsb>j&5HETh7Yc=Dy3Ug&;&kv_NPO z++Dv!H+$D^LrH|n9`fG454|Z)7Op61;ho_a=?upy81DLCqoo-^C_6K9v(PTE*b--G zFvJW^hDnANLz|()FhzT3k70>k#xg^Np~`TD#tJ&a7(-?UW_DoSA+rNBJ20~YGdnP| z12a3=?WW|eJzZSq?w>18iKvR~ie03jxx2Qq!hT*5?-ZvXRdGA+6r15*-CcAy@*mRO zRlKkf3jQt2dc>COMG4ZH9b$MpMYpw|^bC)Ez@Fd83wyd*(*a(1W`JFJn-^-+?8*t- z*yBrCAzL-eA2F8gVK_k1UE3ozyMOu*xjp9ntVdjg&@qkPTW5-OXk7g-geJk=Xo~e- z|6O8QT!alHf(?vR3#m3z9jKV_Pa;i5nu0VHDi-{0q{WaHN1A~&j5Plq2Wb}4puvAA z1*hw8Yd3i7A4KcKGK{4N#BTp`0`b)|U2KOz&F%6x7(Q&vj}s^tXWm9jPM^Aea0ZbRqr8W;vMr7DZXXw{K; zg>XtcXwei+y5W_`q$Bp-SG4aWWlOYgQsI5G7QgQt?dCKiASPk%t*NH2+Pdu%lSoTT z<;a0q{p6i7e`khC_U^Q*#~8)~U$6p}e5YiJ8jcCGwy5E(0=61e77n->c!;&cBu&Xx z;0}IU(z2~w#a1M3;ncR;l9C6-me%T}T}!$JD&MI6#ODYL%eX(3I47>L zP;`msm|9Xz;goHggsFYpUVg3$1dO^+Hi{$?U>E0SoXirMS(rgcj;)49w0wHDEIZUv z!m@~+G>ZU^u@2b(6GOtOf3G7r+ou^&pR-~K!H)6QQ`}ch@%`rsc0N=?aIOw?-fwHrO zs$#T43&=z)D8+-45tMLHGJ{gGkbY=WOxm7TOxTAmG# zlNzfHuJjsefCD@3HtS+j2Ko(US^3$mtOcu5<8~CwYmK;ODn(vB9(wh7hy!g6IFM1n z909qo&w>ITXk+eyI2+ld`ypoLc>o(4cRHaz1~y}A5mStiDMnFKuy4sYkRBlC$uq?Y zoS<@3{FAdVxet#_nb;^61P+;UN8lCHHzj+{)P{_#%lTQbT9DrvJik-nt!SdGb1VHN z^QrvqFh+%C2{SONF(KvVD#@lwm5F~4Hr?hu=(rxsEVd>voK$>GaCgAb_34Z_8Jd|S z$%x(C-bF0~oDcgefn=~MEFtoSU&4y;3Gv(GW|V*M`NDO6WXcOhbpQGxC;QXc6Gsu) z*m?&AsW7my7R`|$u(66B*K)Cp1~%SeOWL60>mD>6(p%EzfZMta9Zy)~*lFBrVh{yG zAuXT<5a$9(4jZbjm=fkuutilIwu)q2BnlFV<)kBJUb$f$KlGi?!rpco_J$zr-AKf( z{{``^Vzgne&q$A3B2*NMdbtRfi)L03*K88k+-sjh<>W-a{Z%w0I6{x+^bS(Ue8r5e zoRBUA{3n-4|0?g`%Jxn@DQAQJc@C&iTa!Dn=zv|`1|u2*yZ7!$=R$f!Td9U!g+ z`eA{(neju4N*DWAB5%^k3e?RK5Sndru4Wu2rGB+RB#0r^V97T@#7_Z_nDc$zf=DPL zgiiNd5HTIqQ7p;gLF58h&pe0(pAEtvWyY!@=0>&sm||rjQKEFiHyEOH0}`bhkSN`N zMCk@3N;e=;x&evO4M>!3K%#U55~UlEDBXZW=>{Z9Hy}~E0jbgrg+S@vz?AM6n9}_M zQ@ZysrF%D1y03%7vbU#+8 zbnAsmw?kud2PoZ*UuF{h->Ae6y75x1;TsDdx7vizK3^qc;UV3U*8Dt?*FUs{xTQd%f3|M{la3x z`*HP5ct7^VFGF~5@|f^Gu__SWCodjtCVz2Jjd?8Mc$kiaxI~D-Xu7Vzw|bw!pq9%2 E0z{5o-T(jq delta 11262 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

ec3g)z$L@Wy*mKBz?3Lj=J<}WOQX(8Nl&HgZ Hs3!CuCovEI diff --git a/docker-compose/right/data/hapi/database/h2.trace.db b/docker-compose/right/data/hapi/database/h2.trace.db index f8a8c9b9..716f29a4 100644 --- a/docker-compose/right/data/hapi/database/h2.trace.db +++ b/docker-compose/right/data/hapi/database/h2.trace.db @@ -4194,3 +4194,1935 @@ org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed ( 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-11 10:04:58 jdbc[6]: 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$$2bc53c9e.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-11 10:04:58 jdbc[6]: 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$$2bc53c9e.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-11 10:04:58 jdbc[6]: 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$$2bc53c9e.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-11 10:04:58 jdbc[6]: 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$$2bc53c9e.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-11 10:04:58 jdbc[6]: 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$$2bc53c9e.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-11 10:15:45 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$$14e5dbdb.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-11 10:15:45 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$$14e5dbdb.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-11 10:15:45 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$$14e5dbdb.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-11 10:15:45 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$$14e5dbdb.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-11 10:15:45 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$$14e5dbdb.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-11 10:15:45 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$$14e5dbdb.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-11 11:47:33 jdbc[6]: 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$$b73b825b.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-11 11:47:33 jdbc[6]: 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$$b73b825b.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-11 11:47:33 jdbc[6]: 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$$b73b825b.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-11 11:47:33 jdbc[6]: 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$$b73b825b.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-11 11:47:33 jdbc[6]: 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$$b73b825b.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-11 12:06:10 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$$6df5d008.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$$3dd10c06.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-11 12:06:10 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$$6df5d008.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$$3dd10c06.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-11 12:06:10 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$$6df5d008.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$$3dd10c06.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-11 12:06:10 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$$6df5d008.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$$3dd10c06.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-11 12:06:10 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$$6df5d008.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$$3dd10c06.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-11 12:06:10 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$$6df5d008.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$$3dd10c06.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-11 12:36:50 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$$854628ca.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-11 12:36:50 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$$854628ca.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-11 12:36:50 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$$854628ca.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-11 12:36:50 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$$854628ca.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-11 12:36:50 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$$854628ca.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-11 12:36:50 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$$854628ca.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-11 12:36:50 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.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$$1b8bff76.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-11 12:36:50 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.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$$1b8bff76.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-11 12:36:50 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.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$$1b8bff76.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-11 12:36:50 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.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$$1b8bff76.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-11 12:36:50 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.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$$1b8bff76.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-11 12:54:03 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$$3f2ca739.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-11 12:54:03 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$$3f2ca739.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-11 12:54:03 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$$3f2ca739.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-11 12:54:03 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$$3f2ca739.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-11 12:54:03 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$$3f2ca739.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-11 12:54:03 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$$3f2ca739.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) diff --git a/domain/episode/service.go b/domain/episode/service.go index c67df73a..50b96a48 100644 --- a/domain/episode/service.go +++ b/domain/episode/service.go @@ -139,13 +139,13 @@ func (service *service) GetCollaborations(ctx context.Context, customerDID, doss logrus.WithError(err).Warn("Error looking up episode collaborator organization") collaborations = append(collaborations, types.Collaboration{ EpisodeID: episodeID, - OrganizationDID: authorizedDID, + OrganizationID: authorizedDID, OrganizationName: "!ERROR! " + err.Error(), }) } else { collaborations = append(collaborations, types.Collaboration{ EpisodeID: episodeID, - OrganizationDID: authorizedDID, + OrganizationID: authorizedDID, OrganizationName: org.Details.Name, }) } diff --git a/domain/fhir/eoverdracht/service.go b/domain/fhir/eoverdracht/service.go index da633892..5201c737 100644 --- a/domain/fhir/eoverdracht/service.go +++ b/domain/fhir/eoverdracht/service.go @@ -132,9 +132,9 @@ func (s transferService) GetTask(ctx context.Context, taskID string) (*TransferT } task := &TransferTask{ - ID: fhir.FromIDPtr(fhirTask.ID), - Status: fhir.FromCodePtr(fhirTask.Status), - ReceiverDID: fhir.FromStringPtr(fhirTask.Owner.Identifier.Value), + ID: fhir.FromIDPtr(fhirTask.ID), + Status: fhir.FromCodePtr(fhirTask.Status), + ReceiverID: fhir.FromStringPtr(fhirTask.Owner.Identifier.Value), } if input := s.findTaskInputOutputByCode(fhirTask.Input, LoincAdvanceNoticeCode); input != nil { diff --git a/domain/fhir/eoverdracht/types.go b/domain/fhir/eoverdracht/types.go index 2a320133..6886e6a9 100644 --- a/domain/fhir/eoverdracht/types.go +++ b/domain/fhir/eoverdracht/types.go @@ -9,7 +9,7 @@ import ( type TransferTask struct { ID string Status string - ReceiverDID string + ReceiverID string AdvanceNoticeID *string NursingHandoffID *string } diff --git a/domain/notification/handler.go b/domain/notification/handler.go index c2f121af..30ae3dcf 100644 --- a/domain/notification/handler.go +++ b/domain/notification/handler.go @@ -14,7 +14,7 @@ import ( type Notification struct { TaskID string - SenderDID string + SenderID string CustomerID string } @@ -45,18 +45,18 @@ func NewHandler( // Handle handles an incoming notification about an updated Task for one of its customers. func (service *handler) Handle(ctx context.Context, notification Notification) error { - fhirServer, err := service.registry.GetCompoundServiceEndpoint(ctx, notification.SenderDID, transfer.SenderServiceName, "fhir") + fhirServer, err := service.registry.GetCompoundServiceEndpoint(ctx, notification.SenderID, transfer.ServiceName, "fhir") if err != nil { - return fmt.Errorf("error while looking up custodian's FHIR server (did=%s): %w", notification.SenderDID, err) + return fmt.Errorf("error while looking up custodian's FHIR server (did=%s): %w", notification.SenderID, err) } - authServer, err := service.registry.GetCompoundServiceEndpoint(ctx, notification.SenderDID, transfer.SenderServiceName, "auth") + authServer, err := service.registry.GetCompoundServiceEndpoint(ctx, notification.SenderID, transfer.ServiceName, "authServerURL") if err != nil { - return fmt.Errorf("error while looking up custodian's Auth server (did=%s): %w", notification.SenderDID, err) + return fmt.Errorf("error while looking up custodian's Auth server (did=%s): %w", notification.SenderID, err) } taskPath := fmt.Sprintf("/Task/%s", notification.TaskID) - accessToken, err := service.nutsClient.RequestServiceAccessToken(ctx, notification.CustomerID, authServer, "eOverdracht-sender") + accessToken, err := service.nutsClient.RequestServiceAccessToken(ctx, notification.CustomerID, authServer, transfer.SenderServiceScope) if err != nil { return err } @@ -70,5 +70,5 @@ func (service *handler) Handle(ctx context.Context, notification Notification) e return err } - return service.transferService.CreateOrUpdate(ctx, fhir.FromCodePtr(task.Status), notification.CustomerID, notification.SenderDID, fhir.FromIDPtr(task.ID)) + return service.transferService.CreateOrUpdate(ctx, fhir.FromCodePtr(task.Status), notification.CustomerID, notification.SenderID, fhir.FromIDPtr(task.ID)) } diff --git a/domain/transfer/receiver/service.go b/domain/transfer/receiver/service.go index 90931f06..44e7c06d 100644 --- a/domain/transfer/receiver/service.go +++ b/domain/transfer/receiver/service.go @@ -155,29 +155,29 @@ func (s service) GetTransferRequest(ctx context.Context, customerID, requesterDI return &transferRequest, nil } -func (s service) getServiceFHIRClient(ctx context.Context, authorizerDID string, localRequesterSubjectID string) (fhir.Client, error) { - fhirServer, err := s.registry.GetCompoundServiceEndpoint(ctx, authorizerDID, transfer.SenderServiceName, "fhir") +func (s service) getServiceFHIRClient(ctx context.Context, authorizerID string, localRequesterSubjectID string) (fhir.Client, error) { + fhirServer, err := s.registry.GetCompoundServiceEndpoint(ctx, authorizerID, transfer.ServiceName, "fhir") if err != nil { - return nil, fmt.Errorf("error while looking up authorizer's FHIR server (did=%s): %w", authorizerDID, err) + return nil, fmt.Errorf("error while looking up authorizer's FHIR server (did=%s): %w", authorizerID, err) } - authServerURL, err := s.registry.GetCompoundServiceEndpoint(ctx, authorizerDID, transfer.SenderServiceName, "auth") + authServerURL, err := s.registry.GetCompoundServiceEndpoint(ctx, authorizerID, transfer.ServiceName, "authServerURL") if err != nil { - return nil, fmt.Errorf("error while looking up authorizer's auth server (did=%s): %w", authorizerDID, err) + return nil, fmt.Errorf("error while looking up authorizer's auth server (did=%s): %w", authorizerID, err) } // TODO: This should be the user access token instead when medical data is involved, // but this depends on the scope mapping which then has to change for v6 - accessToken, err := s.nutsClient.RequestServiceAccessToken(ctx, localRequesterSubjectID, authServerURL, transfer.SenderServiceName) + accessToken, err := s.nutsClient.RequestServiceAccessToken(ctx, localRequesterSubjectID, authServerURL, transfer.SenderServiceScope) if err != nil { return nil, err } return fhir.NewFactory(fhir.WithURL(fhirServer), fhir.WithAuthToken(accessToken))(), nil } -func (s service) getUserFHIRClient(ctx context.Context, authorizerDID string, localRequesterDID string, accessToken string) (fhir.Client, error) { - fhirServer, err := s.registry.GetCompoundServiceEndpoint(ctx, authorizerDID, transfer.SenderServiceName, "fhir") +func (s service) getUserFHIRClient(ctx context.Context, authorizerID string, localRequesterDID string, accessToken string) (fhir.Client, error) { + fhirServer, err := s.registry.GetCompoundServiceEndpoint(ctx, authorizerID, transfer.ServiceName, "fhir") if err != nil { - return nil, fmt.Errorf("error while looking up authorizer's FHIR server (did=%s): %w", authorizerDID, err) + return nil, fmt.Errorf("error while looking up authorizer's FHIR server (id=%s): %w", authorizerID, err) } return fhir.NewFactory(fhir.WithURL(fhirServer), fhir.WithAuthToken(accessToken))(), nil diff --git a/domain/transfer/sender/repository.go b/domain/transfer/sender/repository.go index 46c9d937..976acf70 100644 --- a/domain/transfer/sender/repository.go +++ b/domain/transfer/sender/repository.go @@ -27,7 +27,7 @@ type TransferRepository interface { // The status will be set to REQUESTED_STATE. // It fails when their exists another domain.TransferNegotiation for this transfer with the same organisationDID and // a status other than CANCELLED_STATE. - CreateNegotiation(ctx context.Context, customerID, transferID, organizationDID string, transferDate time.Time, taskID string) (*types.TransferNegotiation, error) + CreateNegotiation(ctx context.Context, customerID, transferID, organizationID string, transferDate time.Time, taskID string) (*types.TransferNegotiation, error) // ProposeAlternateDate updates the date on the domain.TransferNegotiation indicated by the negotiationID. // It updates the status to ON_HOLD_STATE diff --git a/domain/transfer/sender/service.go b/domain/transfer/sender/service.go index febe9c67..cb9e3240 100644 --- a/domain/transfer/sender/service.go +++ b/domain/transfer/sender/service.go @@ -24,12 +24,12 @@ import ( type TransferService interface { // AssignTransfer assigns a transfer directly to a single organization - AssignTransfer(ctx context.Context, customerID, transferID, organizationDID string) (*types.TransferNegotiation, error) + AssignTransfer(ctx context.Context, customer types.Customer, transferID, organizationID string) (*types.TransferNegotiation, error) // CreateTransfer creates a new transfer CreateTransfer(ctx context.Context, customerID string, request types.CreateTransferRequest) (*types.Transfer, error) - CreateNegotiation(ctx context.Context, customerID, transferID, organizationDID string) (*types.TransferNegotiation, error) + CreateNegotiation(ctx context.Context, customerID, transferID, organizationID string) (*types.TransferNegotiation, error) GetTransferByID(ctx context.Context, customerID, transferID string) (types.Transfer, error) @@ -132,7 +132,7 @@ func (s service) GetTransferByID(ctx context.Context, customerID, transferID str } // CreateNegotiation creates a new negotiation(FHIR Task) for a specific transfer and sends the other party a notification. -func (s service) CreateNegotiation(ctx context.Context, customerID, transferID, organizationDID string) (*types.TransferNegotiation, error) { +func (s service) CreateNegotiation(ctx context.Context, customerID, transferID, organizationID string) (*types.TransferNegotiation, error) { customer, err := s.customerRepo.FindByID(customerID) if err != nil { return nil, err @@ -140,13 +140,6 @@ func (s service) CreateNegotiation(ctx context.Context, customerID, transferID, var negotiation *types.TransferNegotiation - // Pre-emptively resolve the receiver organization's notification endpoint to check registry configuration. - // This reduces cleanup code of FHIR task. - _, err = s.registry.GetCompoundServiceEndpoint(ctx, organizationDID, transfer.ReceiverServiceName, "notification") - if err != nil { - return nil, fmt.Errorf("unable to create transfer negotiation: no notification endpoint found: %w", err) - } - fhirClient := s.localFHIRClientFactory(fhir.WithTenant(customerID)) fhirTransferService := eoverdracht.NewFHIRTransferService(fhirClient) @@ -168,7 +161,7 @@ func (s service) CreateNegotiation(ctx context.Context, customerID, transferID, transferTask := eoverdracht.TransferTask{ Status: transfer.RequestedState, - ReceiverDID: organizationDID, + ReceiverID: organizationID, AdvanceNoticeID: &dbTransfer.FhirAdvanceNoticeComposition, } @@ -191,11 +184,11 @@ func (s service) CreateNegotiation(ctx context.Context, customerID, transferID, for _, path := range resourcePaths { authorizedResources[path] = []string{"GET"} } - if err := s.pipClient.AddPIPData(transferTask.ID, organizationDID, transfer.SenderServiceName, customer.Id, authorizedResources); err != nil { + if err := s.pipClient.AddPIPData(transferTask.ID, organizationID, transfer.SenderServiceScope, *customer, authorizedResources); err != nil { return nil, fmt.Errorf("could not create PIP data: %w", err) } - negotiation, err = s.transferRepo.CreateNegotiation(ctx, customerID, transferID, organizationDID, dbTransfer.TransferDate.Time, transferTask.ID) + negotiation, err = s.transferRepo.CreateNegotiation(ctx, customerID, transferID, organizationID, dbTransfer.TransferDate.Time, transferTask.ID) if err != nil { return nil, err } @@ -211,9 +204,9 @@ func (s service) CreateNegotiation(ctx context.Context, customerID, transferID, return negotiation, commitErr } - if err = s.sendNotification(ctx, customer, organizationDID, negotiation.TaskID); err != nil { + if err = s.sendNotification(ctx, customer, organizationID, negotiation.TaskID); err != nil { // TODO: What to do here? Should we maybe rollback? - logrus.Errorf("Unable to notify receiving care organization of updated FHIR task (did=%s): %s", organizationDID, err) + logrus.Errorf("Unable to notify receiving care organization of updated FHIR task (id=%s): %s", organizationID, err) } } @@ -339,13 +332,13 @@ func (s service) ConfirmNegotiation(ctx context.Context, customerID, transferID, processedPaths[path] = struct{}{} } - if err := s.pipClient.AddPIPData(negotiation.TaskID, negotiation.OrganizationDID, transfer.SenderServiceName, customer.Id, authorizedResources); err != nil { + if err := s.pipClient.AddPIPData(negotiation.TaskID, negotiation.OrganizationID, transfer.SenderServiceScope, *customer, authorizedResources); err != nil { return nil, fmt.Errorf("could not create PIP data: %w", err) } notifications = append(notifications, ¬ification{ - customer: customer, - organizationDID: negotiation.OrganizationDID, + customer: customer, + organizationID: negotiation.OrganizationID, }) return dbTransfer, nil @@ -359,9 +352,9 @@ func (s service) ConfirmNegotiation(ctx context.Context, customerID, transferID, var errs []string for _, n := range notifications { - err = s.sendNotification(ctx, n.customer, n.organizationDID, negotiation.TaskID) + err = s.sendNotification(ctx, n.customer, n.organizationID, negotiation.TaskID) if err != nil { - errs = append(errs, fmt.Errorf("sending to %s: %w", n.organizationDID, err).Error()) + errs = append(errs, fmt.Errorf("sending to %s: %w", n.organizationID, err).Error()) } } if len(errs) > 0 { @@ -389,7 +382,7 @@ func (s service) CancelNegotiation(ctx context.Context, customerID, transferID, return nil, err } - return negotiation, s.sendNotification(ctx, notification.customer, notification.organizationDID, negotiation.TaskID) + return negotiation, s.sendNotification(ctx, notification.customer, notification.organizationID, negotiation.TaskID) } func (s service) UpdateTaskState(ctx context.Context, customer types.Customer, taskID string, newState string) error { @@ -431,8 +424,8 @@ func (s service) acceptTask(ctx context.Context, customer types.Customer, negoti // create notification not := notification{ - customer: &customer, - organizationDID: negotiation.OrganizationDID, + customer: &customer, + organizationID: negotiation.OrganizationID, } // Commit here, otherwise notifications to this server will deadlock on the uncommitted tx. @@ -441,7 +434,7 @@ func (s service) acceptTask(ctx context.Context, customer types.Customer, negoti return commitErr } - _ = s.sendNotification(ctx, not.customer, not.organizationDID, negotiation.TaskID) + _ = s.sendNotification(ctx, not.customer, not.organizationID, negotiation.TaskID) return nil } @@ -475,8 +468,8 @@ func (s service) completeTask(ctx context.Context, customer types.Customer, nego // create notification not = notification{ - customer: &customer, - organizationDID: negotiation.OrganizationDID, + customer: &customer, + organizationID: negotiation.OrganizationID, } return transferRecord, nil @@ -488,15 +481,15 @@ func (s service) completeTask(ctx context.Context, customer types.Customer, nego return commitErr } - _ = s.sendNotification(ctx, not.customer, not.organizationDID, negotiation.TaskID) + _ = s.sendNotification(ctx, not.customer, not.organizationID, negotiation.TaskID) } return err } type notification struct { - customer *types.Customer - organizationDID string + customer *types.Customer + organizationID string } // cancelNegotiation is like CancelNegotiation but it doesn't send any notification. @@ -524,20 +517,20 @@ func (s service) cancelNegotiation(ctx context.Context, customerID, negotiationI if err != nil { return nil, nil, err } - return negotiation, ¬ification{customer: customer, organizationDID: negotiation.OrganizationDID}, nil + return negotiation, ¬ification{customer: customer, organizationID: negotiation.OrganizationID}, nil } -func (s service) sendNotification(ctx context.Context, customer *types.Customer, organizationDID string, fhirTaskID string) error { - notificationEndpoint, err := s.registry.GetCompoundServiceEndpoint(ctx, organizationDID, transfer.ReceiverServiceName, "notification") +func (s service) sendNotification(ctx context.Context, customer *types.Customer, organizationID string, fhirTaskID string) error { + notificationEndpoint, err := s.registry.GetCompoundServiceEndpoint(ctx, organizationID, transfer.ServiceName, "notification") if err != nil { return err } - authServerEndpoint, err := s.registry.GetCompoundServiceEndpoint(ctx, organizationDID, transfer.ReceiverServiceName, "auth") + authServerEndpoint, err := s.registry.GetCompoundServiceEndpoint(ctx, organizationID, transfer.ServiceName, "authServerURL") if err != nil { return err } - tokenResponse, err := s.nutsClient.RequestServiceAccessToken(ctx, customer.Id, authServerEndpoint, transfer.ReceiverServiceName) + tokenResponse, err := s.nutsClient.RequestServiceAccessToken(ctx, customer.Id, authServerEndpoint, transfer.ReceiverServiceScope) if err != nil { return err } @@ -579,26 +572,14 @@ func (s service) findPatientByDossierID(ctx context.Context, customerID, dossier return patient, nil } -func (s service) AssignTransfer(ctx context.Context, customerID, transferID, organizationDID string) (*types.TransferNegotiation, error) { - customer, err := s.customerRepo.FindByID(customerID) - if err != nil { - return nil, err - } - +func (s service) AssignTransfer(ctx context.Context, customer types.Customer, transferID, organizationID string) (*types.TransferNegotiation, error) { var negotiation *types.TransferNegotiation - // Pre-emptively resolve the receiver organization's notification endpoint to check registry configuration. - // This reduces cleanup code of FHIR task. - _, err = s.registry.GetCompoundServiceEndpoint(ctx, organizationDID, transfer.ReceiverServiceName, "notification") - if err != nil { - return nil, fmt.Errorf("unable to create transfer negotiation: no notification endpoint found: %w", err) - } - - fhirClient := s.localFHIRClientFactory(fhir.WithTenant(customerID)) + fhirClient := s.localFHIRClientFactory(fhir.WithTenant(customer.Id)) fhirTransferService := eoverdracht.NewFHIRTransferService(fhirClient) // Update the transfer - _, err = s.transferRepo.Update(ctx, customerID, transferID, func(dbTransfer *types.Transfer) (*types.Transfer, error) { + _, err := s.transferRepo.Update(ctx, customer.Id, transferID, func(dbTransfer *types.Transfer) (*types.Transfer, error) { // Validate if transfer is in correct state to allow new negotiations if dbTransfer.Status == types.Cancelled || dbTransfer.Status == types.Completed || @@ -611,16 +592,16 @@ func (s service) AssignTransfer(ctx context.Context, customerID, transferID, org // it has to be updated to a NursingHandoff compositionPath := fmt.Sprintf("/Composition/%s", dbTransfer.FhirAdvanceNoticeComposition) composition := fhir.Composition{} - err = fhirClient.ReadOne(ctx, compositionPath, &composition) + err := fhirClient.ReadOne(ctx, compositionPath, &composition) if err != nil { return nil, fmt.Errorf("could not assign transfer negotiation: could not read fhir compositition: %w", err) } - nursingHandoffComposition, err := s.advanceNoticeToNursingHandoff(ctx, customerID, dbTransfer) + nursingHandoffComposition, err := s.advanceNoticeToNursingHandoff(ctx, customer.Id, dbTransfer) if err != nil { return nil, fmt.Errorf("could not assign transfer negotiation: failed to upgrade AdvanceNotice to NursingHandoff: %w", err) } // Save nursing handoff composition in the FHIR store - if err = s.localFHIRClientFactory(fhir.WithTenant(customerID)).CreateOrUpdate(ctx, nursingHandoffComposition, nil); err != nil { + if err = s.localFHIRClientFactory(fhir.WithTenant(customer.Id)).CreateOrUpdate(ctx, nursingHandoffComposition, nil); err != nil { return nil, err } dbTransfer.FhirNursingHandoffComposition = (*string)(nursingHandoffComposition.ID) @@ -628,7 +609,7 @@ func (s service) AssignTransfer(ctx context.Context, customerID, transferID, org // create the FHIR task with the Nurse Handoff transferTask := eoverdracht.TransferTask{ Status: transfer.InProgressState, - ReceiverDID: organizationDID, + ReceiverID: organizationID, NursingHandoffID: dbTransfer.FhirNursingHandoffComposition, } @@ -638,15 +619,15 @@ func (s service) AssignTransfer(ctx context.Context, customerID, transferID, org } // store auth in pip - if err := s.createAuthorizations(ctx, &transferTask, nursingHandoffComposition, organizationDID, customerID); err != nil { + if err := s.createAuthorizations(ctx, &transferTask, nursingHandoffComposition, organizationID, customer); err != nil { return nil, err } - negotiation, err = s.transferRepo.CreateNegotiation(ctx, customerID, transferID, organizationDID, dbTransfer.TransferDate.Time, transferTask.ID) + negotiation, err = s.transferRepo.CreateNegotiation(ctx, customer.Id, transferID, organizationID, dbTransfer.TransferDate.Time, transferTask.ID) if err != nil { return nil, err } - _, err = s.transferRepo.UpdateNegotiationState(ctx, customerID, negotiation.Id, transfer.InProgressState) + _, err = s.transferRepo.UpdateNegotiationState(ctx, customer.Id, negotiation.Id, transfer.InProgressState) if err != nil { return nil, err } @@ -660,9 +641,9 @@ func (s service) AssignTransfer(ctx context.Context, customerID, transferID, org return negotiation, commitErr } - if err = s.sendNotification(ctx, customer, organizationDID, negotiation.TaskID); err != nil { + if err = s.sendNotification(ctx, &customer, organizationID, negotiation.TaskID); err != nil { // TODO: What to do here? Should we maybe rollback? - logrus.Errorf("Unable to notify receiving care organization of updated FHIR task (did=%s): %s", organizationDID, err) + logrus.Errorf("Unable to notify receiving care organization of updated FHIR task (did=%s): %s", organizationID, err) } } @@ -670,8 +651,8 @@ func (s service) AssignTransfer(ctx context.Context, customerID, transferID, org } // createAuthorizations creates 2 authorization credentials, one for the Task, and one for the nursingHandoffComposition. -func (s service) createAuthorizations(ctx context.Context, transferTask *eoverdracht.TransferTask, nursingHandoffComposition *fhir.Composition, organizationDID, customerID string) error { - prefix := fmt.Sprintf("/fhir/%d", customerID) +func (s service) createAuthorizations(ctx context.Context, transferTask *eoverdracht.TransferTask, nursingHandoffComposition *fhir.Composition, organizationID string, customer types.Customer) error { + prefix := fmt.Sprintf("/fhir/%d", customer.Id) // Build the list of resources for the authorization credential: authorizedResources := s.resourcesForNursingHandoff(nursingHandoffComposition) authorizedResources[fmt.Sprintf("/Task/%s", transferTask.ID)] = []string{"GET", "PUT"} @@ -683,7 +664,7 @@ func (s service) createAuthorizations(ctx context.Context, transferTask *eoverdr delete(authorizedResources, path) } } - if err := s.pipClient.AddPIPData(transferTask.ID, organizationDID, transfer.SenderServiceName, customerID, authorizedResources); err != nil { + if err := s.pipClient.AddPIPData(transferTask.ID, organizationID, transfer.SenderServiceScope, customer, authorizedResources); err != nil { return fmt.Errorf("could not create PIP data: %w", err) } return nil diff --git a/domain/transfer/sender/sql_repository.go b/domain/transfer/sender/sql_repository.go index 93e5df48..73d1df89 100644 --- a/domain/transfer/sender/sql_repository.go +++ b/domain/transfer/sender/sql_repository.go @@ -30,7 +30,7 @@ type sqlTransfer struct { type sqlNegotiation struct { ID string `db:"id"` TransferID string `db:"transfer_id"` - OrganizationDID string `db:"organization_did"` + OrganizationID string `db:"organization_id"` CustomerID string `db:"customer_id"` Date time.Time `db:"date"` Status string `db:"status"` @@ -40,7 +40,7 @@ type sqlNegotiation struct { func (dbNegotiation sqlNegotiation) MarshalToDomainNegotiation() (*types.TransferNegotiation, error) { return &types.TransferNegotiation{ Id: dbNegotiation.ID, - OrganizationDID: dbNegotiation.OrganizationDID, + OrganizationID: dbNegotiation.OrganizationID, Status: types.FHIRTaskStatus(dbNegotiation.Status), TransferDate: openapiTypes.Date{Time: dbNegotiation.Date}, TransferID: dbNegotiation.TransferID, @@ -52,7 +52,7 @@ func (dbNegotiation *sqlNegotiation) UnmarshalFromDomainNegotiation(customerID s *dbNegotiation = sqlNegotiation{ ID: string(negotiation.Id), TransferID: string(negotiation.TransferID), - OrganizationDID: negotiation.OrganizationDID, + OrganizationID: negotiation.OrganizationID, CustomerID: customerID, Date: negotiation.TransferDate.Time, Status: string(negotiation.Status), @@ -140,7 +140,7 @@ const transferSchema = ` const negotiationSchema = ` CREATE TABLE IF NOT EXISTS transfer_negotiation ( id char(36) NOT NULL, - organization_did varchar(200) NOT NULL, + organization_id varchar(200) NOT NULL, transfer_id char(36) NOT NULL, customer_id VARCHAR(255) NOT NULL, date DATETIME DEFAULT NULL, @@ -434,7 +434,7 @@ func (r SQLiteTransferRepository) updateNegotiation(ctx context.Context, tx *sql return nil } -func (r SQLiteTransferRepository) CreateNegotiation(ctx context.Context, customerID string, transferID, organizationDID string, transferDate time.Time, taskID string) (*types.TransferNegotiation, error) { +func (r SQLiteTransferRepository) CreateNegotiation(ctx context.Context, customerID string, transferID, organizationID string, transferDate time.Time, taskID string) (*types.TransferNegotiation, error) { tx, err := sqlUtil.GetTransaction(ctx) if err != nil { return nil, err @@ -443,7 +443,7 @@ func (r SQLiteTransferRepository) CreateNegotiation(ctx context.Context, custome negotiation := sqlNegotiation{ ID: uuid.NewString(), TransferID: transferID, - OrganizationDID: organizationDID, + OrganizationID: organizationID, CustomerID: customerID, Date: transferDate, Status: transfer.RequestedState, @@ -451,8 +451,8 @@ func (r SQLiteTransferRepository) CreateNegotiation(ctx context.Context, custome } const query = `INSERT INTO transfer_negotiation - (id, transfer_id, organization_did, customer_id, date, status, task_id) - values(:id, :transfer_id, :organization_did, :customer_id, :date, :status, :task_id)` + (id, transfer_id, organization_id, customer_id, date, status, task_id) + values(:id, :transfer_id, :organization_id, :customer_id, :date, :status, :task_id)` if _, err := tx.NamedExecContext(ctx, query, negotiation); err != nil { return nil, err @@ -462,7 +462,7 @@ func (r SQLiteTransferRepository) CreateNegotiation(ctx context.Context, custome } func (r SQLiteTransferRepository) ListNegotiations(ctx context.Context, customerID string, transferID string) ([]types.TransferNegotiation, error) { - const query = `SELECT * FROM transfer_negotiation WHERE customer_id = ? AND transfer_id = ? ORDER BY organization_did ASC` + const query = `SELECT * FROM transfer_negotiation WHERE customer_id = ? AND transfer_id = ? ORDER BY organization_id ASC` tx, err := sqlUtil.GetTransaction(ctx) if err != nil { return nil, err diff --git a/domain/transfer/service.go b/domain/transfer/service.go index 1f78bb21..809efc7c 100644 --- a/domain/transfer/service.go +++ b/domain/transfer/service.go @@ -1,7 +1,7 @@ package transfer -// ReceiverServiceName contains the name of the eOverdracht receiver compound-service -const ReceiverServiceName = "eOverdracht-receiver" +// ServiceName contains the name of the eOverdracht discovery service +const ServiceName = "urn:nuts.nl:usecase:eOverdrachtDemo2024" -// SenderServiceName contains the name of the eOverdracht sender compound-service -const SenderServiceName = "eOverdracht-sender" +const SenderServiceScope = "eOverdracht-sender" +const ReceiverServiceScope = "eOverdracht-receiver" diff --git a/domain/types/generated_types.go b/domain/types/generated_types.go index d24fc247..a8110b7c 100644 --- a/domain/types/generated_types.go +++ b/domain/types/generated_types.go @@ -79,8 +79,8 @@ type Collaboration struct { // Id An internal object UUID which can be used as unique identifier for entities. Id *ObjectID `json:"id,omitempty"` - // OrganizationDID The DID of the collaborator - OrganizationDID string `json:"organizationDID"` + // OrganizationID The DID of the collaborator + OrganizationID string `json:"organizationID"` // OrganizationName The name of the collaborator OrganizationName string `json:"organizationName"` @@ -118,8 +118,8 @@ type CreateEpisodeRequest struct { // CreateTransferNegotiationRequest An request object to create a new transfer negotiation. type CreateTransferNegotiationRequest struct { - // OrganizationDID Decentralized Identifier of the organization to which transfer of a patient is requested. - OrganizationDID string `json:"organizationDID"` + // OrganizationID Decentralized Identifier of the organization to which transfer of a patient is requested. + OrganizationID string `json:"organizationID"` // TransferDate Transfer date subject of the negotiation. Can be altered by both sending and receiving care organization. TransferDate openapi_types.Date `json:"transferDate"` @@ -415,8 +415,8 @@ type TransferNegotiation struct { // Organization A care organization available through the Nuts Network to exchange information. Organization Organization `json:"organization"` - // OrganizationDID Decentralized Identifier of the organization to which transfer of a patient is requested. - OrganizationDID string `json:"organizationDID"` + // OrganizationID Decentralized Identifier of the organization to which transfer of a patient is requested. + OrganizationID string `json:"organizationID"` // Status Status of the negotiation, maps to FHIR eOverdracht task states (https://informatiestandaarden.nictiz.nl/wiki/vpk:V4.0_FHIR_eOverdracht#Using_Task_to_manage_the_workflow). Status FHIRTaskStatus `json:"status"` diff --git a/domain/zorginzage.go b/domain/zorginzage.go index a64ee612..a1453051 100644 --- a/domain/zorginzage.go +++ b/domain/zorginzage.go @@ -56,19 +56,10 @@ func (z ZorginzageService) RemotePatient(ctx context.Context, subjectDID, remote } func (z ZorginzageService) fhirClient(ctx context.Context, localDID string, remotePartyDID string, scope string, serviceName string) (fhir.Client, error) { - endpointsInterf, err := z.NutsClient.ResolveServiceEndpoint(ctx, remotePartyDID, serviceName, "object") + fhirEndpoint, err := z.NutsClient.ResolveServiceEndpoint(ctx, remotePartyDID, serviceName, "fhir") if err != nil { return nil, fmt.Errorf("resolve DID service (DID=%s, service=%s): %w", remotePartyDID, serviceName, err) } - endpoints := endpointsInterf.(map[string]interface{}) - fhirEndpointInterf := endpoints["fhir"] - if fhirEndpointInterf == nil { - return nil, fmt.Errorf("remote XIS does not have its FHIR endpoint registered (DID=%s)", remotePartyDID) - } - fhirEndpoint, ok := fhirEndpointInterf.(string) - if !ok { - return nil, fmt.Errorf("FHIR endpoint is not a string (DID=%s)", remotePartyDID) - } accessToken, err := z.NutsClient.RequestServiceAccessToken(ctx, localDID, remotePartyDID, scope) if err != nil { return nil, fmt.Errorf("unable to get access token (DID=%s,scope=%s): %w", remotePartyDID, scope, err) diff --git a/nuts/client/discovery.go b/nuts/client/discovery.go index 639c2fb6..3c2ced3c 100644 --- a/nuts/client/discovery.go +++ b/nuts/client/discovery.go @@ -19,14 +19,15 @@ var _ Discovery = (*HTTPClient)(nil) // DiscoverySearchResult models a single result for when searching on Discovery Services. type DiscoverySearchResult struct { nuts.NutsOrganization - ServiceID string `json:"service_id"` + ServiceID string `json:"service_id"` + Parameters map[string]interface{} `json:"parameters"` } type Discovery interface { - SearchDiscoveryService(ctx context.Context, query map[string]string, discoveryServiceID *string, didServiceType *string) ([]DiscoverySearchResult, error) + SearchDiscoveryService(ctx context.Context, query map[string]string, discoveryServiceID *string) ([]DiscoverySearchResult, error) } -func (c HTTPClient) SearchDiscoveryService(ctx context.Context, query map[string]string, discoveryServiceID *string, didServiceType *string) ([]DiscoverySearchResult, error) { +func (c HTTPClient) SearchDiscoveryService(ctx context.Context, query map[string]string, discoveryServiceID *string) ([]DiscoverySearchResult, error) { ctx, cancel := context.WithTimeout(ctx, 5*time.Second) defer cancel() @@ -43,16 +44,16 @@ func (c HTTPClient) SearchDiscoveryService(ctx context.Context, query map[string } searchResults := make([]DiscoverySearchResult, 0) for _, serviceID := range serviceIDs { - currResults, err := c.searchDiscoveryService(ctx, query, serviceID, didServiceType) + currResults, err := c.searchDiscoveryService(ctx, query, serviceID) if err != nil { - return nil, fmt.Errorf("failed to get service participants for %s, %s: %w", serviceID, *didServiceType, err) + return nil, fmt.Errorf("failed to get service participants for %s: %w", serviceID, err) } searchResults = append(searchResults, currResults...) } return searchResults, nil } -func (c HTTPClient) searchDiscoveryService(ctx context.Context, query map[string]string, discoveryServiceID string, didServiceType *string) ([]DiscoverySearchResult, error) { +func (c HTTPClient) searchDiscoveryService(ctx context.Context, query map[string]string, discoveryServiceID string) ([]DiscoverySearchResult, error) { queryAsMap := make(map[string]interface{}, 0) for key, value := range query { queryAsMap[key] = value @@ -82,27 +83,10 @@ func (c HTTPClient) searchDiscoveryService(ctx context.Context, query map[string // resolve all DIDs from .subjectId and filter on given didServiceType if given results := make([]DiscoverySearchResult, 0) for _, searchResult := range response { - if didServiceType != nil { - // parse did and convert did:web to url - doc, err := c.resolveDID(ctx, searchResult.CredentialSubjectId) - if err != nil { - return nil, fmt.Errorf("failed to resolve DID %s: %w", searchResult.CredentialSubjectId, err) - } - // check if the didServiceType is in the service array - serviceFound := false - for _, service := range doc.Service { - if service.Type == *didServiceType { - serviceFound = true - break - } - } - if !serviceFound { - continue - } - } results = append(results, DiscoverySearchResult{ NutsOrganization: organizationSearchResultToDomain(searchResult), ServiceID: discoveryServiceID, + Parameters: searchResult.Parameters, }) } return results, nil @@ -165,7 +149,7 @@ func (c HTTPClient) resolveDID(ctx context.Context, didStr string) (*did.Documen func organizationSearchResultToDomain(searchResult nutsDiscoveryClient.SearchResult) nuts.NutsOrganization { return nuts.NutsOrganization{ - ID: searchResult.CredentialSubjectId, + ID: searchResult.Parameters["authServerURL"].(string), Details: nuts.OrganizationDetails{ Name: searchResult.Fields["organization_name"].(string), City: searchResult.Fields["organization_city"].(string), diff --git a/nuts/client/discovery/generated.go b/nuts/client/discovery/generated.go index ae0d9276..a54ae46b 100644 --- a/nuts/client/discovery/generated.go +++ b/nuts/client/discovery/generated.go @@ -27,7 +27,7 @@ type SearchResult struct { // Fields Input descriptor IDs and their mapped values that from the Verifiable Credential. Fields map[string]interface{} `json:"fields"` - + Parameters map[string]interface{} `json:"registrationParameters"` // Id The ID of the Verifiable Presentation. Id string `json:"id"` Vp VerifiablePresentation `json:"vp"` @@ -53,7 +53,7 @@ type VerifiablePresentation = externalRef0.VerifiablePresentation // SearchPresentationsParams defines parameters for SearchPresentations. type SearchPresentationsParams struct { - Query *map[string]string `form:"query,omitempty" json:"query,omitempty"` + Query *map[string]interface{} `form:"query,omitempty" json:"query,omitempty"` } // RequestEditorFn is the function signature for the RequestEditor callback function diff --git a/nuts/client/vdr.go b/nuts/client/vdr.go index 60cf333a..a12efaa6 100644 --- a/nuts/client/vdr.go +++ b/nuts/client/vdr.go @@ -3,32 +3,29 @@ package client import ( "context" "errors" + "github.com/nuts-foundation/nuts-demo-ehr/nuts/client/discovery" "github.com/nuts-foundation/nuts-demo-ehr/nuts/client/vdr_v2" "net/http" ) -func (c HTTPClient) ResolveServiceEndpoint(ctx context.Context, verifierDID string, serviceType string, endpointType string) (interface{}, error) { - // resolve DID - response, err := c.vdr().ResolveDID(ctx, verifierDID) +func (c HTTPClient) ResolveServiceEndpoint(ctx context.Context, verifierID string, serviceType string, endpointType string) (string, error) { + // search on discovery service where credentialSubject.authServerURL == verifierID + response, err := c.discovery().SearchPresentations(ctx, serviceType, &discovery.SearchPresentationsParams{Query: &map[string]interface{}{"credentialSubject.authServerURL": verifierID}}) if err != nil { return "", err } if err = testResponseCode(http.StatusOK, response); err != nil { return "", err } - resolveReponse, err := vdr_v2.ParseResolveDIDResponse(response) + searchReponse, err := discovery.ParseSearchPresentationsResponse(response) if err != nil { return "", err } - didDocument := resolveReponse.JSON200.Document + searchResults := searchReponse.JSON200 // find service - for _, service := range didDocument.Service { - if service.Type == serviceType { - serviceDef := make(map[string]interface{}) - if err := service.UnmarshalServiceEndpoint(&serviceDef); err != nil { - return "", err - } - return serviceDef[endpointType], nil + for _, service := range *searchResults { + if value, ok := service.Parameters[endpointType]; ok { + return value.(string), nil } } diff --git a/nuts/client/vdr_v2/generated.go b/nuts/client/vdr_v2/generated.go index d4427345..626b6433 100644 --- a/nuts/client/vdr_v2/generated.go +++ b/nuts/client/vdr_v2/generated.go @@ -185,12 +185,12 @@ type ClientInterface interface { // GetTenantWebDID request GetTenantWebDID(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*http.Response, error) - // ListDIDs request - ListDIDs(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) - // ResolveDID request ResolveDID(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*http.Response, error) + // ListSubjects request + ListSubjects(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) + // CreateDIDWithBody request with any body CreateDIDWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) @@ -248,8 +248,8 @@ func (c *Client) GetTenantWebDID(ctx context.Context, id string, reqEditors ...R return c.Client.Do(req) } -func (c *Client) ListDIDs(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewListDIDsRequest(c.Server) +func (c *Client) ResolveDID(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewResolveDIDRequest(c.Server, did) if err != nil { return nil, err } @@ -260,8 +260,8 @@ func (c *Client) ListDIDs(ctx context.Context, reqEditors ...RequestEditorFn) (* return c.Client.Do(req) } -func (c *Client) ResolveDID(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewResolveDIDRequest(c.Server, did) +func (c *Client) ListSubjects(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewListSubjectsRequest(c.Server) if err != nil { return nil, err } @@ -477,16 +477,20 @@ func NewGetTenantWebDIDRequest(server string, id string) (*http.Request, error) return req, nil } -// NewListDIDsRequest generates requests for ListDIDs -func NewListDIDsRequest(server string) (*http.Request, error) { +// NewResolveDIDRequest generates requests for ResolveDID +func NewResolveDIDRequest(server string, did string) (*http.Request, error) { var err error + var pathParam0 string + + pathParam0 = did + serverURL, err := url.Parse(server) if err != nil { return nil, err } - operationPath := fmt.Sprintf("/internal/vdr/v2/did") + operationPath := fmt.Sprintf("/internal/vdr/v2/did/%s", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -504,20 +508,16 @@ func NewListDIDsRequest(server string) (*http.Request, error) { return req, nil } -// NewResolveDIDRequest generates requests for ResolveDID -func NewResolveDIDRequest(server string, did string) (*http.Request, error) { +// NewListSubjectsRequest generates requests for ListSubjects +func NewListSubjectsRequest(server string) (*http.Request, error) { var err error - var pathParam0 string - - pathParam0 = did - serverURL, err := url.Parse(server) if err != nil { return nil, err } - operationPath := fmt.Sprintf("/internal/vdr/v2/did/%s", pathParam0) + operationPath := fmt.Sprintf("/internal/vdr/v2/subject") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -926,12 +926,12 @@ type ClientWithResponsesInterface interface { // GetTenantWebDIDWithResponse request GetTenantWebDIDWithResponse(ctx context.Context, id string, reqEditors ...RequestEditorFn) (*GetTenantWebDIDResponse, error) - // ListDIDsWithResponse request - ListDIDsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ListDIDsResponse, error) - // ResolveDIDWithResponse request ResolveDIDWithResponse(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*ResolveDIDResponse, error) + // ListSubjectsWithResponse request + ListSubjectsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ListSubjectsResponse, error) + // CreateDIDWithBodyWithResponse request with any body CreateDIDWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateDIDResponse, error) @@ -1009,10 +1009,10 @@ func (r GetTenantWebDIDResponse) StatusCode() int { return 0 } -type ListDIDsResponse struct { +type ResolveDIDResponse struct { Body []byte HTTPResponse *http.Response - JSON200 *[]string + JSON200 *DIDResolutionResult ApplicationproblemJSONDefault *struct { // Detail A human-readable explanation specific to this occurrence of the problem. Detail string `json:"detail"` @@ -1026,7 +1026,7 @@ type ListDIDsResponse struct { } // Status returns HTTPResponse.Status -func (r ListDIDsResponse) Status() string { +func (r ResolveDIDResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -1034,17 +1034,17 @@ func (r ListDIDsResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ListDIDsResponse) StatusCode() int { +func (r ResolveDIDResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } return 0 } -type ResolveDIDResponse struct { +type ListSubjectsResponse struct { Body []byte HTTPResponse *http.Response - JSON200 *DIDResolutionResult + JSON200 *map[string][]string ApplicationproblemJSONDefault *struct { // Detail A human-readable explanation specific to this occurrence of the problem. Detail string `json:"detail"` @@ -1058,7 +1058,7 @@ type ResolveDIDResponse struct { } // Status returns HTTPResponse.Status -func (r ResolveDIDResponse) Status() string { +func (r ListSubjectsResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -1066,7 +1066,7 @@ func (r ResolveDIDResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ResolveDIDResponse) StatusCode() int { +func (r ListSubjectsResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -1345,22 +1345,22 @@ func (c *ClientWithResponses) GetTenantWebDIDWithResponse(ctx context.Context, i return ParseGetTenantWebDIDResponse(rsp) } -// ListDIDsWithResponse request returning *ListDIDsResponse -func (c *ClientWithResponses) ListDIDsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ListDIDsResponse, error) { - rsp, err := c.ListDIDs(ctx, reqEditors...) +// ResolveDIDWithResponse request returning *ResolveDIDResponse +func (c *ClientWithResponses) ResolveDIDWithResponse(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*ResolveDIDResponse, error) { + rsp, err := c.ResolveDID(ctx, did, reqEditors...) if err != nil { return nil, err } - return ParseListDIDsResponse(rsp) + return ParseResolveDIDResponse(rsp) } -// ResolveDIDWithResponse request returning *ResolveDIDResponse -func (c *ClientWithResponses) ResolveDIDWithResponse(ctx context.Context, did string, reqEditors ...RequestEditorFn) (*ResolveDIDResponse, error) { - rsp, err := c.ResolveDID(ctx, did, reqEditors...) +// ListSubjectsWithResponse request returning *ListSubjectsResponse +func (c *ClientWithResponses) ListSubjectsWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*ListSubjectsResponse, error) { + rsp, err := c.ListSubjects(ctx, reqEditors...) if err != nil { return nil, err } - return ParseResolveDIDResponse(rsp) + return ParseListSubjectsResponse(rsp) } // CreateDIDWithBodyWithResponse request with arbitrary body returning *CreateDIDResponse @@ -1519,22 +1519,22 @@ func ParseGetTenantWebDIDResponse(rsp *http.Response) (*GetTenantWebDIDResponse, return response, nil } -// ParseListDIDsResponse parses an HTTP response from a ListDIDsWithResponse call -func ParseListDIDsResponse(rsp *http.Response) (*ListDIDsResponse, error) { +// ParseResolveDIDResponse parses an HTTP response from a ResolveDIDWithResponse call +func ParseResolveDIDResponse(rsp *http.Response) (*ResolveDIDResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &ListDIDsResponse{ + response := &ResolveDIDResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest []string + var dest DIDResolutionResult if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -1561,22 +1561,22 @@ func ParseListDIDsResponse(rsp *http.Response) (*ListDIDsResponse, error) { return response, nil } -// ParseResolveDIDResponse parses an HTTP response from a ResolveDIDWithResponse call -func ParseResolveDIDResponse(rsp *http.Response) (*ResolveDIDResponse, error) { +// ParseListSubjectsResponse parses an HTTP response from a ListSubjectsWithResponse call +func ParseListSubjectsResponse(rsp *http.Response) (*ListSubjectsResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &ResolveDIDResponse{ + response := &ListSubjectsResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest DIDResolutionResult + var dest map[string][]string if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } diff --git a/nuts/registry/organizations.go b/nuts/registry/organizations.go index 34198cd9..b14b3615 100644 --- a/nuts/registry/organizations.go +++ b/nuts/registry/organizations.go @@ -14,8 +14,8 @@ import ( const cacheMaxAge = 10 * time.Second type OrganizationRegistry interface { - Get(ctx context.Context, organizationDID string) (*nuts.NutsOrganization, error) - GetCompoundServiceEndpoint(ctx context.Context, organizationDID, serviceType string, field string) (string, error) + Get(ctx context.Context, organizationID string) (*nuts.NutsOrganization, error) + GetCompoundServiceEndpoint(ctx context.Context, organizationID, serviceType string, field string) (string, error) } func NewOrganizationRegistry(client *client.HTTPClient) OrganizationRegistry { @@ -37,15 +37,15 @@ type entry struct { writeTime time.Time } -func (r remoteOrganizationRegistry) Get(ctx context.Context, organizationDID string) (*nuts.NutsOrganization, error) { - cached := r.fromCache(organizationDID) +func (r remoteOrganizationRegistry) Get(ctx context.Context, organizationID string) (*nuts.NutsOrganization, error) { + cached := r.fromCache(organizationID) if cached != nil { return cached, nil } searchResults, err := r.client.SearchDiscoveryService(ctx, map[string]string{ - "credentialSubject.id": organizationDID, - }, nil, nil) + "credentialSubject.authServerURL": organizationID, + }, nil) if err != nil { return nil, err } @@ -64,18 +64,18 @@ func (r remoteOrganizationRegistry) Get(ctx context.Context, organizationDID str return nil, errors.New("multiple organizations found (not supported yet)") } if len(results) == 0 { - return nil, fmt.Errorf("organization not found on any Discovery Service: %s", organizationDID) + return nil, fmt.Errorf("organization not found on any Discovery Service: %s", organizationID) } r.toCache(results[0]) return &results[0], nil } -func (r remoteOrganizationRegistry) GetCompoundServiceEndpoint(ctx context.Context, organizationDID, serviceType string, field string) (string, error) { - endpoint, err := r.client.ResolveServiceEndpoint(ctx, organizationDID, serviceType, field) +func (r remoteOrganizationRegistry) GetCompoundServiceEndpoint(ctx context.Context, organizationID, serviceType string, field string) (string, error) { + endpoint, err := r.client.ResolveServiceEndpoint(ctx, organizationID, serviceType, field) if err != nil { return "", err } - return endpoint.(string), nil + return endpoint, nil } func (r remoteOrganizationRegistry) toCache(organizations ...nuts.NutsOrganization) { @@ -89,10 +89,10 @@ func (r remoteOrganizationRegistry) toCache(organizations ...nuts.NutsOrganizati } } -func (r remoteOrganizationRegistry) fromCache(organizationDID string) *nuts.NutsOrganization { +func (r remoteOrganizationRegistry) fromCache(organizationID string) *nuts.NutsOrganization { r.cacheMux.Lock() defer r.cacheMux.Unlock() - if cached, ok := r.cache[organizationDID]; ok && time.Now().Before(cached.writeTime.Add(cacheMaxAge)) { + if cached, ok := r.cache[organizationID]; ok && time.Now().Before(cached.writeTime.Add(cacheMaxAge)) { return &cached.organization } return nil diff --git a/nutspxp/client/pip.go b/nutspxp/client/pip.go index e6b96585..4e45ff67 100644 --- a/nutspxp/client/pip.go +++ b/nutspxp/client/pip.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "github.com/nuts-foundation/nuts-demo-ehr/domain/types" "github.com/nuts-foundation/nuts-demo-ehr/nutspxp/client/pip" "io" "net/http" @@ -11,7 +12,7 @@ import ( ) type Client interface { - AddPIPData(id string, client string, scope string, verifier string, authInput map[string]interface{}) error + AddPIPData(id string, client string, scope string, customer types.Customer, authInput map[string]interface{}) error DeletePIPData(id string) error } @@ -21,15 +22,17 @@ type HTTPClient struct { var _ Client = HTTPClient{} -func (c HTTPClient) AddPIPData(id string, client string, scope string, verifier string, authInput map[string]interface{}) error { +func (c HTTPClient) AddPIPData(id string, client string, scope string, customer types.Customer, authInput map[string]interface{}) error { ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() + verifierID := fmt.Sprintf("%s/oauth2/%s", customer.Domain, customer.Id) + resp, err := c.client().CreateData(ctx, id, pip.CreateDataJSONRequestBody{ AuthInput: authInput, ClientId: client, Scope: scope, - VerifierId: verifier, + VerifierId: verifierID, }) if err != nil { return err diff --git a/web/src/ehr/transfer/EditTransfer.vue b/web/src/ehr/transfer/EditTransfer.vue index 3327e5e6..9c8cada8 100644 --- a/web/src/ehr/transfer/EditTransfer.vue +++ b/web/src/ehr/transfer/EditTransfer.vue @@ -19,7 +19,7 @@ {{ negotiation.organization.name }} - {{ negotiation.organizationDID }} + {{ negotiation.organizationID }} {{ negotiation.transferDate }} @@ -186,7 +186,7 @@ export default { }; this.$api.assignTransferDirect(negotiation, { - organizationDID: this.requestedOrganization.did + organizationID: this.requestedOrganization.did }) .then(() => { this.requestedOrganization = null @@ -207,7 +207,7 @@ export default { }; this.$api.startTransferNegotiation(negotiation, { - organizationDID: this.requestedOrganization.did + organizationID: this.requestedOrganization.did }) .then(() => { this.requestedOrganization = null