diff --git a/src/main/java/de/ozgcloud/eingang/xta/XtaRunner.java b/src/main/java/de/ozgcloud/eingang/xta/XtaRunner.java
index 971cdadd083f9484836b704067cc2a835aea7565..4e04051caf3f1634054bd0a00533851893d7ab66 100644
--- a/src/main/java/de/ozgcloud/eingang/xta/XtaRunner.java
+++ b/src/main/java/de/ozgcloud/eingang/xta/XtaRunner.java
@@ -35,7 +35,6 @@ import de.ozgcloud.eingang.semantik.SemantikAdapter;
 import lombok.NonNull;
 import lombok.extern.log4j.Log4j2;
 
-@Profile({ "!itcase" })
 @Log4j2
 @Component
 class XtaRunner implements ApplicationListener<ContextRefreshedEvent> {
@@ -45,13 +44,12 @@ class XtaRunner implements ApplicationListener<ContextRefreshedEvent> {
 	@Autowired
 	private SemantikAdapter semantikAdapter;
 	@Autowired
-	private ConfigurableApplicationContext context;
-
+	private ShutdownService shutdownService;
 	@Override
 	public void onApplicationEvent(ContextRefreshedEvent event) {
 		LOG.info("Fetching XTA Messages");
 		runGetXtaMessages();
-		context.close();
+		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 7d2b295b770f55aedc7d9727babd440b9be2f939..b6138a47a98ad5d1b4dfa0bd17d3a3e42095c908 100644
--- a/src/test/java/de/ozgcloud/eingang/xta/SemantikAdapterITCase.java
+++ b/src/test/java/de/ozgcloud/eingang/xta/SemantikAdapterITCase.java
@@ -49,6 +49,9 @@ 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 7a7760142b49480c3bdc53d1ee049ec04fce244f..b5ad0c2b9a98b22c9a77e24ee23d227c95a66493 100644
--- a/src/test/java/de/ozgcloud/eingang/xta/XtaApplicationTest.java
+++ b/src/test/java/de/ozgcloud/eingang/xta/XtaApplicationTest.java
@@ -23,11 +23,12 @@
  */
 package de.ozgcloud.eingang.xta;
 
-import static org.junit.jupiter.api.Assertions.*;
+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;
 
@@ -35,9 +36,12 @@ import de.ozgcloud.eingang.Application;
 @SpringBootTest(classes = Application.class)
 class XtaApplicationTest {
 
+	@MockitoBean
+	private ShutdownService shutdownService;
+
 	@Test
 	void startup() {
-		// should start without exception;
+		// should start without exception
 		assertTrue(true);
 	}
 
diff --git a/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java b/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java
index ad69220224b0e2dbf0d414344bcc8133c376cf7d..a8b18a8afa14e4f43792bfd7bb724b994c7836b0 100644
--- a/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java
+++ b/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java
@@ -44,8 +44,6 @@ import org.mockito.Captor;
 import org.mockito.Mock;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.boot.test.mock.mockito.SpyBean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.test.context.ActiveProfiles;
 
@@ -58,6 +56,8 @@ import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc.BinaryFileServi
 import de.ozgcloud.vorgang.vorgang.GrpcEingang;
 import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub;
 import io.grpc.Channel;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
+import org.springframework.test.context.bean.override.mockito.MockitoSpyBean;
 
 @SpringBootTest(classes = {
 		Application.class,
@@ -66,9 +66,9 @@ import io.grpc.Channel;
 @ActiveProfiles({ "itcase" })
 class XtaITCase {
 
-	@SpyBean
+	@MockitoSpyBean
 	private VorgangRemoteService vorgangRemoteService;
-	@MockBean
+	@MockitoBean
 	private VorgangManagerServerResolver resolver;
 
 	@Mock
@@ -83,8 +83,10 @@ class XtaITCase {
 	@Mock
 	private Channel channel;
 
-	@MockBean
+	@MockitoBean
 	private XtaRemoteService xtaRemoteService;
+	@MockitoBean
+	private ShutdownService shutdownService;
 
 	@Captor
 	private ArgumentCaptor<FormData> formDataArgumentCaptor;
@@ -114,6 +116,11 @@ 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) {