Skip to content

Commit ab02bfe

Browse files
committed
Merge branch 'master' into rel_7_3_tracking
2 parents e856b53 + 6cf5ffb commit ab02bfe

File tree

10 files changed

+73
-40
lines changed

10 files changed

+73
-40
lines changed

Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
FROM docker.io/library/maven:3.9.4-eclipse-temurin-17 AS build-hapi
1+
FROM docker.io/library/maven:3.9.7-eclipse-temurin-17 AS build-hapi
22
WORKDIR /tmp/hapi-fhir-jpaserver-starter
33

4-
ARG OPENTELEMETRY_JAVA_AGENT_VERSION=1.31.0
4+
ARG OPENTELEMETRY_JAVA_AGENT_VERSION=1.33.3
55
RUN curl -LSsO https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v${OPENTELEMETRY_JAVA_AGENT_VERSION}/opentelemetry-javaagent.jar
66

77
COPY pom.xml .
@@ -18,7 +18,7 @@ RUN mkdir /app && cp /tmp/hapi-fhir-jpaserver-starter/target/ROOT.war /app/main.
1818

1919
########### bitnami tomcat version is suitable for debugging and comes with a shell
2020
########### it can be built using eg. `docker build --target tomcat .`
21-
FROM bitnami/tomcat:9.0 AS tomcat
21+
FROM bitnami/tomcat:10.1 AS tomcat
2222

2323
RUN rm -rf /opt/bitnami/tomcat/webapps/ROOT && \
2424
mkdir -p /opt/bitnami/hapi/data/hapi/lucenefiles && \
@@ -36,7 +36,7 @@ COPY --from=build-hapi --chown=1001:1001 /tmp/hapi-fhir-jpaserver-starter/opente
3636
ENV ALLOW_EMPTY_PASSWORD=yes
3737

3838
########### distroless brings focus on security and runs on plain spring boot - this is the default image
39-
FROM gcr.io/distroless/java17-debian11:nonroot AS default
39+
FROM gcr.io/distroless/java17-debian12:nonroot AS default
4040
# 65532 is the nonroot user's uid
4141
# used here instead of the name to allow Kubernetes to easily detect that the container
4242
# is running as a non-root (uid != 0) user.

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ In order to use this sample, you should have:
1313
- [This project](https://github.com/hapifhir/hapi-fhir-jpaserver-starter) checked out. You may wish to create a GitHub Fork of the project and check that out instead so that you can customize the project and save the results to GitHub.
1414

1515
### and either
16-
- Oracle Java (JDK) installed: Minimum JDK8 or newer.
16+
- Oracle Java (JDK) installed: Minimum JDK17 or newer.
1717
- Apache Maven build tool (newest version)
1818

1919
### or
@@ -102,7 +102,7 @@ spring:
102102
driverClassName: org.postgresql.Driver
103103
jpa:
104104
properties:
105-
hibernate.dialect: ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect
105+
hibernate.dialect: ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgresDialect
106106
hibernate.search.enabled: false
107107
```
108108
@@ -155,7 +155,7 @@ spring:
155155
driverClassName: org.postgresql.Driver
156156
jpa:
157157
properties:
158-
hibernate.dialect: ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect
158+
hibernate.dialect: ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgresDialect
159159
hibernate.search.enabled: false
160160
hapi:
161161
fhir:
@@ -244,7 +244,7 @@ Server will then be accessible at http://localhost:8080/ and eg. http://localhos
244244

245245
### Using Spring Boot
246246
```bash
247-
mvn clean package spring-boot:repackage -Pboot && java -jar target/ROOT.war
247+
mvn clean package spring-boot:repackage -DskipTests=true -Pboot && java -jar target/ROOT.war
248248
```
249249
Server will then be accessible at http://localhost:8080/ and eg. http://localhost:8080/fhir/metadata. Remember to adjust your overlay configuration in the application.yaml to the following:
250250

@@ -312,7 +312,7 @@ spring:
312312
driverClassName: org.postgresql.Driver
313313
jpa:
314314
properties:
315-
hibernate.dialect: ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect
315+
hibernate.dialect: ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgresDialect
316316
hibernate.search.enabled: false
317317
318318
# Then comment all hibernate.search.backend.*
@@ -430,7 +430,7 @@ spring:
430430
driverClassName: org.postgresql.Driver
431431
jpa:
432432
properties:
433-
hibernate.dialect: ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect
433+
hibernate.dialect: ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgresDialect
434434
hibernate.search.enabled: false
435435
436436
# Then comment all hibernate.search.backend.*

charts/hapi-fhir-jpaserver/Chart.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ dependencies:
1010
version: 14.3.1
1111
repository: oci://registry-1.docker.io/bitnamicharts
1212
condition: postgresql.enabled
13-
appVersion: 7.0.3
14-
version: 0.16.0
13+
appVersion: 7.2.0
14+
version: 0.17.0
1515
annotations:
1616
artifacthub.io/license: Apache-2.0
1717
artifacthub.io/containsSecurityUpdates: "false"
@@ -24,7 +24,7 @@ annotations:
2424
# When using the list of objects option the valid supported kinds are
2525
# added, changed, deprecated, removed, fixed, and security.
2626
- kind: changed
27-
description: updated starter image to v7.0.3
27+
description: updated starter image to v7.2.0
2828
- kind: changed
2929
description: updated curlimages/curl to 8.6.0
3030
- kind: changed

charts/hapi-fhir-jpaserver/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# HAPI FHIR JPA Server Starter Helm Chart
22

3-
![Version: 0.16.0](https://img.shields.io/badge/Version-0.16.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 7.0.3](https://img.shields.io/badge/AppVersion-7.0.3-informational?style=flat-square)
3+
![Version: 0.17.0](https://img.shields.io/badge/Version-0.17.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 7.2.0](https://img.shields.io/badge/AppVersion-7.2.0-informational?style=flat-square)
44

55
This helm chart will help you install the HAPI FHIR JPA Server in a Kubernetes environment.
66

@@ -36,7 +36,7 @@ helm install hapi-fhir-jpaserver hapifhir/hapi-fhir-jpaserver
3636
| image.pullPolicy | string | `"IfNotPresent"` | image pullPolicy to use |
3737
| image.registry | string | `"docker.io"` | registry where the HAPI FHIR server image is hosted |
3838
| image.repository | string | `"hapiproject/hapi"` | the path inside the repository |
39-
| image.tag | string | `"v7.0.3@sha256:73ff82fec42e5cbb7e66338d47af09ba91c140e98beeaee41a5459572d5ae1ce"` | the image tag. As of v5.7.0, this is the `distroless` flavor by default, add `-tomcat` to use the Tomcat-based image. |
39+
| image.tag | string | `"v7.2.0@sha256:9bcafa8342b572eee248cb7c48c496863d352bbd0347e1d98ea238d09620e89b"` | the image tag. As of v5.7.0, this is the `distroless` flavor by default, add `-tomcat` to use the Tomcat-based image. |
4040
| imagePullSecrets | list | `[]` | image pull secrets to use when pulling the image |
4141
| ingress.annotations | object | `{}` | provide any additional annotations which may be required. Evaluated as a template. |
4242
| ingress.enabled | bool | `false` | whether to create an Ingress to expose the FHIR server HTTP endpoint |

charts/hapi-fhir-jpaserver/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ image:
77
# -- the path inside the repository
88
repository: hapiproject/hapi
99
# -- the image tag. As of v5.7.0, this is the `distroless` flavor by default, add `-tomcat` to use the Tomcat-based image.
10-
tag: "v7.0.3@sha256:73ff82fec42e5cbb7e66338d47af09ba91c140e98beeaee41a5459572d5ae1ce"
10+
tag: "v7.2.0@sha256:9bcafa8342b572eee248cb7c48c496863d352bbd0347e1d98ea238d09620e89b"
1111
# -- image pullPolicy to use
1212
pullPolicy: IfNotPresent
1313

docker-compose.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,15 @@ services:
44
build: .
55
container_name: hapi-fhir-jpaserver-start
66
restart: on-failure
7+
environment:
8+
SPRING_DATASOURCE_URL: "jdbc:postgresql://hapi-fhir-postgres:5432/hapi"
9+
SPRING_DATASOURCE_USERNAME: "admin"
10+
SPRING_DATASOURCE_PASSWORD: "admin"
11+
SPRING_DATASOURCE_DRIVERCLASSNAME: "org.postgresql.Driver"
712
ports:
813
- "8080:8080"
914
hapi-fhir-postgres:
10-
image: postgres:13-alpine
15+
image: postgres:14-alpine
1116
container_name: hapi-fhir-postgres
1217
restart: always
1318
environment:

pom.xml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<packaging>war</packaging>
2222

2323
<properties>
24-
<java.version>11</java.version>
24+
<java.version>17</java.version>
2525
</properties>
2626

2727
<prerequisites>
@@ -77,13 +77,13 @@
7777
<dependency>
7878
<groupId>ca.uhn.hapi.fhir</groupId>
7979
<artifactId>hapi-fhir-base</artifactId>
80-
<version>${project.version}</version>
80+
<version>${project.parent.version}</version>
8181
</dependency>
8282
<!-- This dependency includes the EmailSenderImpl we will be using instead of standard javamail.-->
8383
<dependency>
8484
<groupId>ca.uhn.hapi.fhir</groupId>
8585
<artifactId>hapi-fhir-jpaserver-subscription</artifactId>
86-
<version>${project.version}</version>
86+
<version>${project.parent.version}</version>
8787
<exclusions>
8888
<exclusion>
8989
<groupId>com.zaxxer</groupId>
@@ -96,7 +96,7 @@
9696
<dependency>
9797
<groupId>ca.uhn.hapi.fhir</groupId>
9898
<artifactId>hapi-fhir-jpaserver-base</artifactId>
99-
<version>${project.version}</version>
99+
<version>${project.parent.version}</version>
100100
<exclusions>
101101
<exclusion>
102102
<groupId>org.springframework</groupId>
@@ -112,13 +112,13 @@
112112
<dependency>
113113
<groupId>ca.uhn.hapi.fhir</groupId>
114114
<artifactId>hapi-fhir-storage-cr</artifactId>
115-
<version>${project.version}</version>
115+
<version>${project.parent.version}</version>
116116
</dependency>
117117
<!-- This dependency includes the JPA MDM Server -->
118118
<dependency>
119119
<groupId>ca.uhn.hapi.fhir</groupId>
120120
<artifactId>hapi-fhir-jpaserver-mdm</artifactId>
121-
<version>${project.version}</version>
121+
<version>${project.parent.version}</version>
122122
</dependency>
123123
<dependency>
124124
<groupId>org.springframework</groupId>
@@ -128,13 +128,13 @@
128128
<dependency>
129129
<groupId>ca.uhn.hapi.fhir</groupId>
130130
<artifactId>hapi-fhir-server-cds-hooks</artifactId>
131-
<version>${project.version}</version>
131+
<version>${project.parent.version}</version>
132132
</dependency>
133133
<!-- This dependency includes the OpenAPI Server -->
134134
<dependency>
135135
<groupId>ca.uhn.hapi.fhir</groupId>
136136
<artifactId>hapi-fhir-server-openapi</artifactId>
137-
<version>${project.version}</version>
137+
<version>${project.parent.version}</version>
138138
<exclusions>
139139
<exclusion>
140140
<groupId>org.yaml</groupId>
@@ -146,21 +146,21 @@
146146
<dependency>
147147
<groupId>ca.uhn.hapi.fhir</groupId>
148148
<artifactId>hapi-fhir-testpage-overlay</artifactId>
149-
<version>${project.version}</version>
149+
<version>${project.parent.version}</version>
150150
<type>war</type>
151151
<scope>provided</scope>
152152
</dependency>
153153
<dependency>
154154
<groupId>ca.uhn.hapi.fhir</groupId>
155155
<artifactId>hapi-fhir-testpage-overlay</artifactId>
156-
<version>${project.version}</version>
156+
<version>${project.parent.version}</version>
157157
<classifier>classes</classifier>
158158
</dependency>
159159
<!-- This dependency is used to include the IPS Base Implementation -->
160160
<dependency>
161161
<groupId>ca.uhn.hapi.fhir</groupId>
162162
<artifactId>hapi-fhir-jpaserver-ips</artifactId>
163-
<version>${project.version}</version>
163+
<version>${project.parent.version}</version>
164164
</dependency>
165165

166166
<!-- HAPI-FHIR uses Logback for logging support. The logback library is included automatically by Maven as a part of the hapi-fhir-base dependency, but you also need to include a logging library. Logback
@@ -261,7 +261,7 @@
261261
<dependency>
262262
<groupId>ca.uhn.hapi.fhir</groupId>
263263
<artifactId>hapi-fhir-jpaserver-test-utilities</artifactId>
264-
<version>${project.version}</version>
264+
<version>${project.parent.version}</version>
265265
<scope>test</scope>
266266
<exclusions>
267267
<exclusion>
@@ -300,7 +300,7 @@
300300
<dependency>
301301
<groupId>ca.uhn.hapi.fhir</groupId>
302302
<artifactId>hapi-fhir-test-utilities</artifactId>
303-
<version>${project.version}</version>
303+
<version>${project.parent.version}</version>
304304
<scope>test</scope>
305305
<exclusions>
306306
<exclusion>
@@ -393,7 +393,7 @@
393393
<plugin>
394394
<groupId>org.apache.maven.plugins</groupId>
395395
<artifactId>maven-surefire-plugin</artifactId>
396-
<version>3.1.2</version>
396+
<version>3.2.5</version>
397397
</plugin>
398398
</plugins>
399399
</pluginManagement>
@@ -429,9 +429,9 @@
429429
<plugin>
430430
<groupId>org.apache.maven.plugins</groupId>
431431
<artifactId>maven-compiler-plugin</artifactId>
432-
<version>3.11.0</version>
432+
<version>3.13.0</version>
433433
<configuration>
434-
<release>11</release>
434+
<release>${java.version}</release>
435435
</configuration>
436436
</plugin>
437437

src/main/java/ca/uhn/fhir/jpa/starter/AppProperties.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public class AppProperties {
3737
private Boolean allow_multiple_delete = false;
3838
private Boolean allow_override_default_search_params = true;
3939
private Boolean auto_create_placeholder_reference_targets = false;
40+
private Boolean mass_ingestion_mode_enabled = false;
4041
private final Set<String> auto_version_reference_at_paths = new HashSet<>();
4142
private Boolean language_search_parameter_enabled = false;
4243
private Boolean dao_scheduling_enabled = true;
@@ -324,6 +325,14 @@ public void setAllow_override_default_search_params(
324325
this.allow_override_default_search_params = allow_override_default_search_params;
325326
}
326327

328+
public Boolean getMass_ingestion_mode_enabled() {
329+
return mass_ingestion_mode_enabled;
330+
}
331+
332+
public void setMass_ingestion_mode_enabled(Boolean mass_ingestion_mode_enabled) {
333+
this.mass_ingestion_mode_enabled = mass_ingestion_mode_enabled;
334+
}
335+
327336
public Boolean getAuto_create_placeholder_reference_targets() {
328337
return auto_create_placeholder_reference_targets;
329338
}
@@ -913,4 +922,4 @@ public Boolean getResource_dbhistory_enabled() {
913922
public void setResource_dbhistory_enabled(Boolean resource_dbhistory_enabled) {
914923
this.resource_dbhistory_enabled = resource_dbhistory_enabled;
915924
}
916-
}
925+
}

src/main/java/ca/uhn/fhir/jpa/starter/common/FhirServerConfigCommon.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,8 @@ public JpaStorageSettings jpaStorageSettings(AppProperties appProperties) {
135135
: StorageSettings.IndexEnabledEnum.DISABLED);
136136
jpaStorageSettings.setAutoCreatePlaceholderReferenceTargets(
137137
appProperties.getAuto_create_placeholder_reference_targets());
138+
jpaStorageSettings.setMassIngestionMode(
139+
appProperties.getMass_ingestion_mode_enabled());
138140
jpaStorageSettings.setAutoVersionReferenceAtPaths(appProperties.getAuto_version_reference_at_paths());
139141
jpaStorageSettings.setEnforceReferentialIntegrityOnWrite(
140142
appProperties.getEnforce_referential_integrity_on_write());

src/main/resources/application.yaml

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,26 @@ server:
66
#Adds the option to go to eg. http://localhost:8080/actuator/health for seeing the running configuration
77
#see https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.endpoints
88
management:
9-
endpoints:
10-
web:
11-
exposure:
12-
include: "health,prometheus"
9+
endpoint:
10+
endpoints:
11+
enabled-by-default: false
12+
web:
13+
exposure:
14+
include: health,prometheus
15+
health:
16+
enabled: true
17+
probes:
18+
enabled: true
19+
livenessState:
20+
enabled: true
21+
readinessState:
22+
enabled: true
23+
prometheus:
24+
enabled: true
25+
metrics:
26+
export:
27+
enabled: true
28+
1329
spring:
1430
main:
1531
allow-circular-references: true
@@ -36,7 +52,7 @@ spring:
3652

3753
#Hibernate dialect is automatically detected except Postgres and H2.
3854
#If using H2, then supply the value of ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect
39-
#If using postgres, then supply the value of ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect
55+
#If using postgres, then supply the value of ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgresDialect
4056
hibernate.dialect: ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect
4157
# hibernate.hbm2ddl.auto: update
4258
# hibernate.jdbc.batch_size: 20
@@ -46,7 +62,7 @@ spring:
4662
# hibernate.cache.use_minimal_puts: false
4763

4864
### These settings will enable fulltext search with lucene or elastic
49-
hibernate.search.enabled: true
65+
hibernate.search.enabled: false
5066
### lucene parameters
5167
# hibernate.search.backend.type: lucene
5268
# hibernate.search.backend.analysis.configurer: ca.uhn.fhir.jpa.search.HapiHSearchAnalysisConfigurers$HapiLuceneAnalysisConfigurer
@@ -116,6 +132,7 @@ hapi:
116132
# allow_multiple_delete: true
117133
# allow_override_default_search_params: true
118134
# auto_create_placeholder_reference_targets: false
135+
# mass_ingestion_mode_enabled: false
119136
### tells the server to automatically append the current version of the target resource to references at these paths
120137
# auto_version_reference_at_paths: Device.patient, Device.location, Device.parent, DeviceMetric.parent, DeviceMetric.source, Observation.device, Observation.subject
121138
# ips_enabled: false

0 commit comments

Comments
 (0)