diff --git a/pom.xml b/pom.xml index 8f260eea03c75c71a1502c4cd175d8c70e3b4446..2d7e6238c3fb5fc487651082efc76fcad033ad47 100644 --- a/pom.xml +++ b/pom.xml @@ -139,7 +139,7 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> - <mainClass>de.ozgcloud.eingang.Application</mainClass> + <mainClass>de.ozgcloud.eingang.xta.XtaApplication</mainClass> </configuration> <executions> <execution> diff --git a/src/main/java/de/ozgcloud/eingang/xta/ShutdownService.java b/src/main/java/de/ozgcloud/eingang/xta/ShutdownService.java deleted file mode 100644 index 7674210d75a62153e352079145563b4d326f6874..0000000000000000000000000000000000000000 --- a/src/main/java/de/ozgcloud/eingang/xta/ShutdownService.java +++ /dev/null @@ -1,16 +0,0 @@ -package de.ozgcloud.eingang.xta; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ConfigurableApplicationContext; -import org.springframework.stereotype.Service; - -@Service -class ShutdownService { - - @Autowired - private ConfigurableApplicationContext context; - - public void shutdown() { - context.close(); - } -} diff --git a/src/main/java/de/ozgcloud/eingang/xta/XtaApplication.java b/src/main/java/de/ozgcloud/eingang/xta/XtaApplication.java new file mode 100644 index 0000000000000000000000000000000000000000..063c0cc038a68fa89fa2ba64a7bc893f5e256748 --- /dev/null +++ b/src/main/java/de/ozgcloud/eingang/xta/XtaApplication.java @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den + * Ministerpräsidenten des Landes Schleswig-Holstein + * Staatskanzlei + * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung + * + * Lizenziert unter der EUPL, Version 1.2 oder - sobald + * diese von der Europäischen Kommission genehmigt wurden - + * Folgeversionen der EUPL ("Lizenz"); + * Sie dürfen dieses Werk ausschließlich gemäß + * dieser Lizenz nutzen. + * Eine Kopie der Lizenz finden Sie hier: + * + * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 + * + * Sofern nicht durch anwendbare Rechtsvorschriften + * gefordert oder in schriftlicher Form vereinbart, wird + * die unter der Lizenz verbreitete Software "so wie sie + * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - + * ausdrücklich oder stillschweigend - verbreitet. + * Die sprachspezifischen Genehmigungen und Beschränkungen + * unter der Lizenz sind dem Lizenztext zu entnehmen. + */ +package de.ozgcloud.eingang.xta; + +import java.util.TimeZone; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.scheduling.annotation.EnableScheduling; + +import de.ozgcloud.eingang.Application; + +@SpringBootApplication(scanBasePackages = { "de.ozgcloud" }) +@EnableScheduling +public class XtaApplication extends Application { + + public static void main(String[] args) { + TimeZone.setDefault(TimeZone.getTimeZone("UTC")); + var appContext = SpringApplication.run(XtaApplication.class, args); + SpringApplication.exit(appContext); + } +} diff --git a/src/main/java/de/ozgcloud/eingang/xta/XtaRunner.java b/src/main/java/de/ozgcloud/eingang/xta/XtaRunner.java index dcd9c80553069e8f976225f02d33b031c62c3f68..7f095f771c99194dca793da1c9aca0d934f74df2 100644 --- a/src/main/java/de/ozgcloud/eingang/xta/XtaRunner.java +++ b/src/main/java/de/ozgcloud/eingang/xta/XtaRunner.java @@ -41,13 +41,12 @@ class XtaRunner implements ApplicationListener<ContextRefreshedEvent> { private XtaService service; @Autowired private SemantikAdapter semantikAdapter; - @Autowired - private ShutdownService shutdownService; + @Override public void onApplicationEvent(ContextRefreshedEvent event) { LOG.info("Fetching XTA Messages"); runGetXtaMessages(); - shutdownService.shutdown(); + // shutdownService.shutdown(); } void runGetXtaMessages() { diff --git a/src/test/java/de/ozgcloud/eingang/xta/SemantikAdapterITCase.java b/src/test/java/de/ozgcloud/eingang/xta/SemantikAdapterITCase.java index b6138a47a98ad5d1b4dfa0bd17d3a3e42095c908..7d2b295b770f55aedc7d9727babd440b9be2f939 100644 --- a/src/test/java/de/ozgcloud/eingang/xta/SemantikAdapterITCase.java +++ b/src/test/java/de/ozgcloud/eingang/xta/SemantikAdapterITCase.java @@ -49,9 +49,6 @@ class SemantikAdapterITCase { @MockitoBean private VorgangService vorgangService; - @MockitoBean - private ShutdownService shutdownService; - @Nested class TestForFim { private final Map<String, Object> excpectedFormDataMap = FimFormDataTestFactory.FORM_DATA_MAP; diff --git a/src/test/java/de/ozgcloud/eingang/xta/XtaApplicationTest.java b/src/test/java/de/ozgcloud/eingang/xta/XtaApplicationTest.java index b5ad0c2b9a98b22c9a77e24ee23d227c95a66493..cd81ff838263803704d775fe39f5cc0cc582fcde 100644 --- a/src/test/java/de/ozgcloud/eingang/xta/XtaApplicationTest.java +++ b/src/test/java/de/ozgcloud/eingang/xta/XtaApplicationTest.java @@ -28,17 +28,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; -import org.springframework.test.context.bean.override.mockito.MockitoBean; - -import de.ozgcloud.eingang.Application; @ActiveProfiles({ "local", "itcase" }) -@SpringBootTest(classes = Application.class) +@SpringBootTest(classes = XtaApplication.class) class XtaApplicationTest { - @MockitoBean - private ShutdownService shutdownService; - @Test void startup() { // should start without exception diff --git a/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java b/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java index a8b18a8afa14e4f43792bfd7bb724b994c7836b0..92b71131a29054468da0621fce5aeb5a5bae22da 100644 --- a/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java +++ b/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java @@ -85,8 +85,6 @@ class XtaITCase { @MockitoBean private XtaRemoteService xtaRemoteService; - @MockitoBean - private ShutdownService shutdownService; @Captor private ArgumentCaptor<FormData> formDataArgumentCaptor; @@ -116,11 +114,6 @@ class XtaITCase { doReturn("vorgangId(unused)").when(vorgangRemoteService).createVorgang(any(), any(), any(), any()); } - @DisplayName("should shut down context after processing") - void shouldShutdownContextAfterProcessing() { - verify(shutdownService, times(1)).shutdown(); - } - @DisplayName("should have three representations with pdf") @TestZipFileNamesWithPdf void shouldHaveThreeRepresentationsWithPdf(String zipFileName) {