Skip to content

Update 8.11 tracking branch for HAPI FHIR 8.11.18-SNAPSHOT - #985

Open
gM4n-sys wants to merge 8 commits into
hapifhir:hapi-8_11-trackingfrom
gM4n-sys:hapi-8_11-tracking-issue-8176
Open

Update 8.11 tracking branch for HAPI FHIR 8.11.18-SNAPSHOT#985
gM4n-sys wants to merge 8 commits into
hapifhir:hapi-8_11-trackingfrom
gM4n-sys:hapi-8_11-tracking-issue-8176

Conversation

@gM4n-sys

@gM4n-sys gM4n-sys commented Jul 24, 2026

Copy link
Copy Markdown

Summary

Updates the HAPI FHIR JPA Server Starter tracking branch for compatibility with HAPI FHIR 8.11.17-SNAPSHOT.

This change is required by the DaoRegistry rework introduced in hapifhir/hapi-fhir#8182. It also provides the compatible starter configuration used to build and run the changes from hapifhir/hapi-fhir#8188.

Changes

  • Updates the HAPI FHIR parent version from 8.11.16-SNAPSHOT to 8.11.17-SNAPSHOT.
  • Registers the new DaoRegistry bean.
  • Registers the corresponding DaoRegistrationService bean.
  • Updates ResourceCountCache creation to use DaoRegistry.
  • Imports the extracted SearchConfig.
  • Retains IFhirSystemDao for the remaining server and conformance-provider integrations that still require it.
  • Initializes the generated JPA resource DAOs before evaluating the resource-provider suppliers.
  • Includes the latest changes from the starter master branch.

Compatibility changes

DAO registry services

HAPI FHIR 8.11.17-SNAPSHOT introduces explicit Spring beans for the new DAO registration flow:

@Bean
public DaoRegistry daoRegistry(FhirContext theFhirContext) {
	return new DaoRegistry(theFhirContext);
}

@Bean
public DaoRegistrationService daoRegistrationService(DaoRegistry theDaoRegistry) {
	return new DaoRegistrationService(theDaoRegistry);
}

The starter now provides these beans so that generated resource and system DAOs can register themselves with the shared DaoRegistry.

Resource count cache

HAPI FHIR changed:

ResourceCountCacheUtil.newResourceCountCache(IFhirSystemDao)

to:

ResourceCountCacheUtil.newResourceCountCache(DaoRegistry)

The starter configuration now supplies the required registry:

@Bean(name = "myResourceCountsCache")
public ResourceCountCache resourceCountsCache(DaoRegistry theDaoRegistry) {
	return ResourceCountCacheUtil.newResourceCountCache(theDaoRegistry);
}

Search configuration

The search-related beans previously provided indirectly through JpaConfig were moved into SearchConfig.

The starter now imports both configurations:

@Import({ThreadPoolFactoryConfig.class, SearchConfig.class})

This provides ISearchCoordinatorSvc and the related search task beans required during application startup.

Resource-provider initialization

Generated resource-provider suppliers determine whether a resource is supported by querying the DaoRegistry.

The starter now forces all generated IFhirResourceDao beans to initialize before those suppliers are evaluated:

public RestfulServer restfulServer(
		IFhirSystemDao<?, ?> fhirSystemDao,
		AppProperties appProperties,
		DaoRegistry daoRegistry,
		List<IFhirResourceDao<?>> resourceDaos,
		/* ... */) {

	ourLog.info("Initialized {} JPA resource DAO(s)", resourceDaos.size());

	/* ... */
}

Without this initialization dependency, only DAOs instantiated by other startup components were registered before the REST providers were created. This caused normal resource endpoints such as CodeSystem and ValueSet search to be unavailable.

Verification

The starter was built against the exact head of hapifhir/hapi-fhir#8188 at HAPI FHIR version:

8.11.17-SNAPSHOT

The resulting starter WAR was packaged into a Java 21 container image and run against PostgreSQL.

The following runtime checks completed successfully:

  • The Spring application context initializes successfully.
  • The embedded FHIR server starts successfully.
  • GET /fhir/metadata returns the R4 capability statement.
  • Normal CodeSystem and ValueSet REST searches are available.

The tested combination was:

hapifhir/hapi-fhir#8188
hapifhir/hapi-fhir-jpaserver-starter#985

dependabot Bot and others added 7 commits July 23, 2026 16:40
Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.9 to 42.7.12.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](pgjdbc/pgjdbc@REL42.7.9...REL42.7.12)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-version: 42.7.12
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
…stgresql-postgresql-42.7.12

Bump org.postgresql:postgresql from 42.7.9 to 42.7.12
@gM4n-sys gM4n-sys changed the title Update 8.11 tracking branch for HAPI FHIR 8.11.17-SNAPSHOT Update 8.11 tracking branch for HAPI FHIR 8.11.18-SNAPSHOT Jul 27, 2026
Comment thread pom.xml
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>8.11.16-SNAPSHOT</version>
<version>8.11.18-SNAPSHOT</version>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to update version to 8.12.0?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants