🔥 HAPI FHIR - Java API for HL7 FHIR Clients and Servers
Go to file
Ibrahim e43c140a24
Refactor BaseHapiFhirDao.getOrCreateTag method to run in a separate thread for XA transaction compatibility (#6224)
* Fix typo in docs.

* Refactor the use of ConcurrentTaskScheduler to use the non-deprecated constructor.

* Refactor getOrCreateTag method to prevent transaction suspension for XA transaction compatibility

    The getOrCreateTag method previously used a propagation behavior that caused issues with
    XA transactions when using the PostgreSQL JDBC driver. The PGXAConnection does not support
    transaction suspend/resume, which made it incompatible with the existing propagation strategy
    'PROPAGATION_REQUIRES_NEW'.

    This refactor changes the getOrCreateTag logic to perform a lookup/write in a new transaction
    as before, but running in a separate thread, such that the main transaction is not suspended.
    The result is retrieved through a future.

    This change aims to improve compatibility and prevent transaction-related issues when using HAPI-FHIR with
    XA transactions and PostgreSQL.

    Closes #3412

* Refactor tag creation logic and handle concurrent access:

- Simplified tag creation by removing unnecessary transaction complexity, since we allow duplicate tags in hfj_tag_def from #4813
- Removed redundant retry logic based on updated DB constraints
2024-10-30 10:06:45 -04:00
.github Fix publish pipeline (#5613) 2024-01-19 23:23:26 +00:00
.mvn/wrapper Jakarta/Javax Servlet Migration (#5429) 2023-12-03 11:15:37 -05:00
.mvn_/wrapper Bump core to latest versions (#2154) 2020-11-03 15:43:37 -05:00
hapi-deployable-pom Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-android Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-android-realm Work on JPA 2017-02-02 06:23:28 -05:00
hapi-fhir-base Release V7_4_5 mergeback (#6393) 2024-10-25 18:12:13 -06:00
hapi-fhir-bom Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-checkstyle Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-cli Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-client Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-client-okhttp Fix tests about elementsSubset (#6399) 2024-10-24 12:23:44 -04:00
hapi-fhir-converter Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-dist Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-docs Configurable submit ResourceModifiedMessage immediately if of type Subscription, store in DB on failure (#6395) 2024-10-29 13:17:59 -04:00
hapi-fhir-jacoco Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-jaxrsserver-base Fix tests about elementsSubset (#6399) 2024-10-24 12:23:44 -04:00
hapi-fhir-jpa Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-jpaserver-base Refactor BaseHapiFhirDao.getOrCreateTag method to run in a separate thread for XA transaction compatibility (#6224) 2024-10-30 10:06:45 -04:00
hapi-fhir-jpaserver-elastic-test-utilities Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-jpaserver-hfql Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-jpaserver-ips Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-jpaserver-mdm Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-jpaserver-model Configurable submit ResourceModifiedMessage immediately if of type Subscription, store in DB on failure (#6395) 2024-10-29 13:17:59 -04:00
hapi-fhir-jpaserver-searchparam Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-jpaserver-subscription Configurable submit ResourceModifiedMessage immediately if of type Subscription, store in DB on failure (#6395) 2024-10-29 13:17:59 -04:00
hapi-fhir-jpaserver-test-dstu2 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-jpaserver-test-dstu3 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-jpaserver-test-r4 Refactor BaseHapiFhirDao.getOrCreateTag method to run in a separate thread for XA transaction compatibility (#6224) 2024-10-30 10:06:45 -04:00
hapi-fhir-jpaserver-test-r4b Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-jpaserver-test-r5 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-jpaserver-test-utilities Add author searchin to NPM package search (#6398) 2024-10-25 17:01:02 +00:00
hapi-fhir-jpaserver-uhnfhirtest Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-server Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-server-cds-hooks Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-server-mdm Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-server-openapi Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-serviceloaders Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-spring-boot Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-sql-migrate Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-storage Refactor BaseHapiFhirDao.getOrCreateTag method to run in a separate thread for XA transaction compatibility (#6224) 2024-10-30 10:06:45 -04:00
hapi-fhir-storage-batch2 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-storage-batch2-jobs Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-storage-batch2-test-utilities Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-storage-cr Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-storage-mdm Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-storage-test-utilities Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-structures-dstu2 Fix tests about elementsSubset (#6399) 2024-10-24 12:23:44 -04:00
hapi-fhir-structures-dstu2.1 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-structures-dstu3 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-structures-hl7org-dstu2 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-structures-r4 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-structures-r4b Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-structures-r5 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-test-utilities Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-testpage-overlay Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-validation Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-validation-resources-dstu2 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-validation-resources-dstu2.1 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-validation-resources-dstu3 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-validation-resources-r4 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-validation-resources-r4b Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-fhir-validation-resources-r5 Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-tinder-plugin Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
hapi-tinder-test Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
osgi Final hamcrest conversions (#6015) 2024-06-18 20:46:09 +00:00
src/assembly Checkstyle cleanup (#4501) 2023-02-03 09:40:32 -05:00
tests Bump For February Release (#6392) 2024-10-21 21:03:07 -07:00
vagrant Bump dependencies for CVES (#3359) 2022-02-07 07:56:25 -05:00
.editorconfig IPS API Refactor (#5682) 2024-02-11 10:43:56 -05:00
.gitignore nickname svc refatoring (#5006) 2023-06-22 08:26:47 -04:00
.pre-commit-config.yaml Update pre-commit from 0.3.3 to 0..3.4. (#5537) 2023-12-06 00:52:53 +00:00
.whitesource Add .whitesource configuration file 2021-04-29 13:42:31 +00:00
HELPWANTED.md New formatting rules and pre-commit hooks (#5027) 2023-07-11 17:36:44 -07:00
LICENSE.txt Add license and notice files 2015-03-25 22:32:32 -04:00
LOINC_NOTES.txt More work on loinc 2018-03-19 08:51:02 -04:00
NOTICE.txt rel_7_4 Merge-back (#6212) 2024-08-14 15:03:35 -06:00
README.md New formatting rules and pre-commit hooks (#5027) 2023-07-11 17:36:44 -07:00
azure-pipelines.yml Initial HFQL SQL Implementation (#5083) 2023-07-21 22:51:23 +00:00
check_for_maven_updates.sh Fix up examples 2014-09-03 18:03:44 -04:00
lgtm.yml code coverage needs to run only for JACOCO PROFILE (#4230) 2022-11-02 15:34:27 -04:00
list_releases.sh Implement handleException on the server interceptor framework, as well 2014-11-07 14:26:59 -05:00
mvnw Update and fix maven wrapper (#2847) 2021-11-03 11:21:49 -04:00
mvnw.cmd Update and fix maven wrapper (#2847) 2021-11-03 11:21:49 -04:00
pom.xml Configurable submit ResourceModifiedMessage immediately if of type Subscription, store in DB on failure (#6395) 2024-10-29 13:17:59 -04:00
release-pipeline.yml Rel 7 0 mb 2 (#5714) 2024-02-23 11:03:26 -07:00
snapshot-pipeline.yml Fix publish pipeline (#5613) 2024-01-19 23:23:26 +00:00
sync.sh Update resource defs 2015-12-01 18:35:24 -05:00
sync_dstu3.sh Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2016-07-01 14:31:25 -04:00
sync_ri.sh Bump to 1.0.2 FHIR definitions 2015-11-15 12:22:56 -05:00
sync_ri3.fish Bring DSTU3 structs up to FHIR R3 2017-04-18 07:48:38 -04:00
sync_ri3.sh Syn RI - Build still failing :( 2016-05-28 12:53:59 -04:00
sync_ri4.sh Squashed commit of the following: 2018-12-27 17:58:47 -05:00
sync_ri5.sh Bump core to latest versions (#2154) 2020-11-03 15:43:37 -05:00
sync_ri21.sh Update model and definitions to latest definitions 2016-01-30 11:08:16 -05:00
test-job-template.yml Add tests to checkstyle (#6006) 2024-06-15 17:15:46 -07:00
update_version.sh Force another travis build 2015-08-05 10:38:38 -04:00

README.md

HAPI FHIR

HAPI FHIR - Java API for HL7 FHIR Clients and Servers

License

CI/CD

CI Status (master) SNAPSHOT Pipeline Current Release
Build Status Build Status Release Artifacts

Coverage and Quality

codecov Language grade: Java

Documentation and wiki

Complete project documentation is available here: http://hapifhir.io

A demonstration of this project is available here: http://hapi.fhir.org/

This project is Open Source, licensed under the Apache Software License 2.0.

Please see this wiki page for information on where to get help with HAPI FHIR.

Please see Smile CDR for information on commercial support.