Got subscription stuff working again

This commit is contained in:
jkv
2020-09-08 23:46:42 +02:00
parent 5eef970fbe
commit 7d79d5d8b5
6 changed files with 36 additions and 29 deletions

View File

@@ -1,5 +1,9 @@
package ca.uhn.fhir.jpa.starter;
import ca.uhn.fhir.jpa.subscription.channel.config.SubscriptionChannelConfig;
import ca.uhn.fhir.jpa.subscription.match.config.SubscriptionProcessorConfig;
import ca.uhn.fhir.jpa.subscription.match.config.WebsocketDispatcherConfig;
import ca.uhn.fhir.jpa.subscription.submit.config.SubscriptionSubmitterConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.boot.SpringApplication;
@@ -13,7 +17,8 @@ import org.springframework.context.annotation.Bean;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
@ServletComponentScan(basePackageClasses = {JpaRestfulServer.class}, basePackages = "ca.uhn.fhir.jpa.starter")
@ServletComponentScan(basePackageClasses = {
JpaRestfulServer.class}, basePackages = "ca.uhn.fhir.jpa.starter")
@SpringBootApplication(exclude = ElasticsearchRestClientAutoConfiguration.class)
public class Application extends SpringBootServletInitializer {
@@ -43,15 +48,24 @@ public class Application extends SpringBootServletInitializer {
servletRegistrationBean.setServlet(jpaRestfulServer);
servletRegistrationBean.addUrlMappings("/hapi-fhir-jpaserver/fhir/*");
servletRegistrationBean.setLoadOnStartup(1);
return servletRegistrationBean;
}
@Bean
public ServletRegistrationBean overlayRegistrationBean() {
AnnotationConfigWebApplicationContext annotationConfigWebApplicationContext = new AnnotationConfigWebApplicationContext();
annotationConfigWebApplicationContext.register(FhirTesterConfig.class);
DispatcherServlet dispatcherServlet = new DispatcherServlet(annotationConfigWebApplicationContext);
annotationConfigWebApplicationContext.register(SubscriptionSubmitterConfig.class);
annotationConfigWebApplicationContext.register(SubscriptionProcessorConfig.class);
annotationConfigWebApplicationContext.register(SubscriptionChannelConfig.class);
annotationConfigWebApplicationContext.register(WebsocketDispatcherConfig.class);
DispatcherServlet dispatcherServlet = new DispatcherServlet(
annotationConfigWebApplicationContext);
dispatcherServlet.setContextClass(AnnotationConfigWebApplicationContext.class);
dispatcherServlet.setContextConfigLocation(FhirTesterConfig.class.getName());

View File

@@ -27,14 +27,14 @@ spring:
hapi:
fhir:
defer_indexing_for_codesystems_of_size: 101
implementationguides:
-
url: https://build.fhir.org/ig/hl7dk/dk-medcom/branches/corrections/package.tgz
name: dk.fhir.ig.medcom-core
version: 0.8.0
-
name: hl7.fhir.uv.ips
version: 0.3.0
# implementationguides:
# -
# url: https://build.fhir.org/ig/hl7dk/dk-medcom/branches/corrections/package.tgz
# name: dk.fhir.ig.medcom-core
# version: 0.8.0
# -
# name: hl7.fhir.uv.ips
# version: 0.3.0
#supported_resource_types:
# - Patient

View File

@@ -36,8 +36,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = Application.class, properties =
{
"spring.batch.job.enabled=false",
"spring.profiles.active=r5",
"spring.datasource.url=jdbc:h2:mem:dbr5",
"spring.profiles.active=r4",
"spring.datasource.url=jdbc:h2:mem:dbr4",
"hapi.fhir.subscription.websocket_enabled=true",
"hapi.fhir.empi_enabled=true"
})

View File

@@ -1,5 +1,9 @@
package ca.uhn.fhir.jpa.starter;
import static ca.uhn.fhir.util.TestUtil.waitForSize;
import static org.awaitility.Awaitility.await;
import static org.junit.jupiter.api.Assertions.assertEquals;
import ca.uhn.fhir.context.FhirContext;
import ca.uhn.fhir.rest.api.CacheControlDirective;
import ca.uhn.fhir.rest.api.EncodingEnum;
@@ -7,9 +11,9 @@ import ca.uhn.fhir.rest.api.MethodOutcome;
import ca.uhn.fhir.rest.client.api.IGenericClient;
import ca.uhn.fhir.rest.client.api.ServerValidationModeEnum;
import ca.uhn.fhir.rest.client.interceptor.LoggingInterceptor;
import ca.uhn.fhir.test.utilities.JettyUtil;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;
import java.net.URI;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.client.ClientUpgradeRequest;
import org.eclipse.jetty.websocket.client.WebSocketClient;
@@ -20,8 +24,6 @@ import org.hl7.fhir.r5.model.Observation;
import org.hl7.fhir.r5.model.Patient;
import org.hl7.fhir.r5.model.Subscription;
import org.hl7.fhir.r5.model.SubscriptionTopic;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -29,15 +31,6 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.web.server.LocalServerPort;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import java.net.URI;
import java.nio.file.Paths;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import static ca.uhn.fhir.util.TestUtil.waitForSize;
import static org.awaitility.Awaitility.await;
import static org.junit.jupiter.api.Assertions.assertEquals;
@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = Application.class, properties =
{

View File

@@ -24,8 +24,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
"spring.profiles.active=r4",
"spring.datasource.url=jdbc:h2:mem:dbr4-mt",
"hapi.fhir.subscription.websocket_enabled=true",
"hapi.fhir.subscription.websocket_enabled=true",
"hapi.fhir.partitioning_multitenancy_enabled"
"hapi.fhir.partitioning.partitioning_include_in_search_hashes=false"
})
public class MultitenantServerR4IT {
@@ -96,6 +95,7 @@ public class MultitenantServerR4IT {
@BeforeEach
void beforeEach() {
ourClientTenantInterceptor = new UrlTenantSelectionInterceptor();
ourCtx = FhirContext.forR4();
ourCtx.getRestfulClientFactory().setServerValidationMode(ServerValidationModeEnum.NEVER);
ourCtx.getRestfulClientFactory().setSocketTimeout(1200 * 1000);

View File

@@ -7,7 +7,7 @@ spring:
max-active: 15
profiles:
### This is the FHIR version. Choose between, dstu2, dstu3, r4 or r5
active: dstu2
active: r4
hapi:
fhir: