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
2024-01-19 23:23:26 +00:00
2017-02-02 06:23:28 -05:00
2024-06-18 20:46:09 +00:00
2023-02-03 09:40:32 -05:00
2024-10-21 21:03:07 -07:00
2024-02-11 10:43:56 -05:00
2023-06-22 08:26:47 -04:00
2014-09-03 18:03:44 -04:00
2015-03-25 22:32:32 -04:00
2018-03-19 08:51:02 -04:00
2021-11-03 11:21:49 -04:00
2021-11-03 11:21:49 -04:00
2024-08-14 15:03:35 -06:00
2024-02-23 11:03:26 -07:00
2016-05-28 12:53:59 -04:00
2018-12-27 17:58:47 -05:00
2015-11-15 12:22:56 -05:00
2015-12-01 18:35:24 -05:00
2015-08-05 10:38:38 -04:00

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.

Description
🔥 HAPI FHIR - Java API for HL7 FHIR Clients and Servers
Readme 1.2 GiB
Languages
Java 99.2%
HTML 0.5%
Shell 0.1%