From 898ee40acbbe1bef43dab50bfd32bd7d6d5965d3 Mon Sep 17 00:00:00 2001 From: Krzysiek Date: Wed, 18 Dec 2019 22:11:41 +0100 Subject: [PATCH 1/3] BAEL-19928: Refactor spring-reactor module --- ...tion.java => NotificationApplication.java} | 18 ++++---------- .../consumer/NotificationConsumer.java | 2 +- .../controller/NotificationController.java | 2 +- .../{doman => domain}/NotificationData.java | 2 +- .../baeldung/service/NotificationService.java | 2 +- .../service/impl/NotificationServiceimpl.java | 2 +- .../java/com/baeldung/DataLoaderLiveTest.java | 14 ----------- ...otificationApplicationIntegrationTest.java | 24 +++++++++++++++++++ .../java/org/baeldung/SpringContextTest.java | 4 ++-- 9 files changed, 36 insertions(+), 34 deletions(-) rename spring-reactor/src/main/java/com/baeldung/{Application.java => NotificationApplication.java} (59%) rename spring-reactor/src/main/java/com/baeldung/{doman => domain}/NotificationData.java (95%) delete mode 100644 spring-reactor/src/test/java/com/baeldung/DataLoaderLiveTest.java create mode 100644 spring-reactor/src/test/java/com/baeldung/NotificationApplicationIntegrationTest.java diff --git a/spring-reactor/src/main/java/com/baeldung/Application.java b/spring-reactor/src/main/java/com/baeldung/NotificationApplication.java similarity index 59% rename from spring-reactor/src/main/java/com/baeldung/Application.java rename to spring-reactor/src/main/java/com/baeldung/NotificationApplication.java index 9030d41d26..a15b2e1818 100644 --- a/spring-reactor/src/main/java/com/baeldung/Application.java +++ b/spring-reactor/src/main/java/com/baeldung/NotificationApplication.java @@ -1,24 +1,16 @@ package com.baeldung; +import com.baeldung.consumer.NotificationConsumer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Import; - -import com.baeldung.consumer.NotificationConsumer; - +import org.springframework.boot.autoconfigure.SpringBootApplication; import reactor.bus.EventBus; import static reactor.bus.selector.Selectors.$; -@Configuration -@EnableAutoConfiguration -@ComponentScan -@Import(Config.class) -public class Application implements CommandLineRunner { +@SpringBootApplication +public class NotificationApplication implements CommandLineRunner { @Autowired private EventBus eventBus; @@ -32,7 +24,7 @@ public class Application implements CommandLineRunner { } public static void main(String[] args) { - SpringApplication.run(Application.class, args); + SpringApplication.run(NotificationApplication.class, args); } } diff --git a/spring-reactor/src/main/java/com/baeldung/consumer/NotificationConsumer.java b/spring-reactor/src/main/java/com/baeldung/consumer/NotificationConsumer.java index ca6a5b4303..56d038384a 100644 --- a/spring-reactor/src/main/java/com/baeldung/consumer/NotificationConsumer.java +++ b/spring-reactor/src/main/java/com/baeldung/consumer/NotificationConsumer.java @@ -3,7 +3,7 @@ package com.baeldung.consumer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.baeldung.doman.NotificationData; +import com.baeldung.domain.NotificationData; import com.baeldung.service.NotificationService; import reactor.bus.Event; diff --git a/spring-reactor/src/main/java/com/baeldung/controller/NotificationController.java b/spring-reactor/src/main/java/com/baeldung/controller/NotificationController.java index 8665f247b0..9d24b560cd 100644 --- a/spring-reactor/src/main/java/com/baeldung/controller/NotificationController.java +++ b/spring-reactor/src/main/java/com/baeldung/controller/NotificationController.java @@ -5,7 +5,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; -import com.baeldung.doman.NotificationData; +import com.baeldung.domain.NotificationData; import reactor.bus.Event; import reactor.bus.EventBus; diff --git a/spring-reactor/src/main/java/com/baeldung/doman/NotificationData.java b/spring-reactor/src/main/java/com/baeldung/domain/NotificationData.java similarity index 95% rename from spring-reactor/src/main/java/com/baeldung/doman/NotificationData.java rename to spring-reactor/src/main/java/com/baeldung/domain/NotificationData.java index d6d7b02949..2fdb4299a4 100644 --- a/spring-reactor/src/main/java/com/baeldung/doman/NotificationData.java +++ b/spring-reactor/src/main/java/com/baeldung/domain/NotificationData.java @@ -1,4 +1,4 @@ -package com.baeldung.doman; +package com.baeldung.domain; public class NotificationData { diff --git a/spring-reactor/src/main/java/com/baeldung/service/NotificationService.java b/spring-reactor/src/main/java/com/baeldung/service/NotificationService.java index f653b2162f..bb0e15b7eb 100644 --- a/spring-reactor/src/main/java/com/baeldung/service/NotificationService.java +++ b/spring-reactor/src/main/java/com/baeldung/service/NotificationService.java @@ -1,6 +1,6 @@ package com.baeldung.service; -import com.baeldung.doman.NotificationData; +import com.baeldung.domain.NotificationData; public interface NotificationService { diff --git a/spring-reactor/src/main/java/com/baeldung/service/impl/NotificationServiceimpl.java b/spring-reactor/src/main/java/com/baeldung/service/impl/NotificationServiceimpl.java index bf37741f6a..20a24a68fd 100644 --- a/spring-reactor/src/main/java/com/baeldung/service/impl/NotificationServiceimpl.java +++ b/spring-reactor/src/main/java/com/baeldung/service/impl/NotificationServiceimpl.java @@ -2,7 +2,7 @@ package com.baeldung.service.impl; import org.springframework.stereotype.Service; -import com.baeldung.doman.NotificationData; +import com.baeldung.domain.NotificationData; import com.baeldung.service.NotificationService; @Service diff --git a/spring-reactor/src/test/java/com/baeldung/DataLoaderLiveTest.java b/spring-reactor/src/test/java/com/baeldung/DataLoaderLiveTest.java deleted file mode 100644 index 5833bc277c..0000000000 --- a/spring-reactor/src/test/java/com/baeldung/DataLoaderLiveTest.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.baeldung; - -import org.junit.Test; -import org.springframework.web.client.RestTemplate; - -public class DataLoaderLiveTest { - - @Test - public void exampleTest() { - RestTemplate restTemplate = new RestTemplate(); - restTemplate.getForObject("http://localhost:8080/startNotification/10", String.class); - } - -} diff --git a/spring-reactor/src/test/java/com/baeldung/NotificationApplicationIntegrationTest.java b/spring-reactor/src/test/java/com/baeldung/NotificationApplicationIntegrationTest.java new file mode 100644 index 0000000000..5ad9427397 --- /dev/null +++ b/spring-reactor/src/test/java/com/baeldung/NotificationApplicationIntegrationTest.java @@ -0,0 +1,24 @@ +package com.baeldung; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.web.server.LocalServerPort; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.web.client.RestTemplate; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class NotificationApplicationIntegrationTest { + + @LocalServerPort + private int port; + + @Test + public void givenAppStarted_whenNotificationTasksSubmitted_thenProcessed() { + RestTemplate restTemplate = new RestTemplate(); + restTemplate.getForObject("http://localhost:" + port + "/startNotification/10", String.class); + } + + +} diff --git a/spring-reactor/src/test/java/org/baeldung/SpringContextTest.java b/spring-reactor/src/test/java/org/baeldung/SpringContextTest.java index 5e68a8e64f..bc8542c5ac 100644 --- a/spring-reactor/src/test/java/org/baeldung/SpringContextTest.java +++ b/spring-reactor/src/test/java/org/baeldung/SpringContextTest.java @@ -5,10 +5,10 @@ import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; -import com.baeldung.Application; +import com.baeldung.NotificationApplication; @RunWith(SpringRunner.class) -@SpringBootTest(classes = Application.class) +@SpringBootTest(classes = NotificationApplication.class) public class SpringContextTest { @Test From b808edd14e417aeabb01497d5162de31e3fc411d Mon Sep 17 00:00:00 2001 From: Krzysztof Woyke Date: Thu, 19 Dec 2019 08:28:26 +0100 Subject: [PATCH 2/3] BAEL-19928: Further minor improvements --- spring-reactor/src/main/java/com/baeldung/Config.java | 6 ++---- .../src/main/java/com/baeldung/NotificationApplication.java | 1 - .../baeldung/NotificationApplicationIntegrationTest.java | 2 -- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/spring-reactor/src/main/java/com/baeldung/Config.java b/spring-reactor/src/main/java/com/baeldung/Config.java index 28f40dda02..ac1bfb3945 100644 --- a/spring-reactor/src/main/java/com/baeldung/Config.java +++ b/spring-reactor/src/main/java/com/baeldung/Config.java @@ -2,7 +2,6 @@ package com.baeldung; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; - import reactor.Environment; import reactor.bus.EventBus; @@ -10,13 +9,12 @@ import reactor.bus.EventBus; public class Config { @Bean - Environment env() { + public Environment env() { return Environment.initializeIfEmpty().assignErrorJournal(); } @Bean - EventBus createEventBus(Environment env) { + public EventBus createEventBus(Environment env) { return EventBus.create(env, Environment.THREAD_POOL); } - } diff --git a/spring-reactor/src/main/java/com/baeldung/NotificationApplication.java b/spring-reactor/src/main/java/com/baeldung/NotificationApplication.java index a15b2e1818..6f0c8cdf96 100644 --- a/spring-reactor/src/main/java/com/baeldung/NotificationApplication.java +++ b/spring-reactor/src/main/java/com/baeldung/NotificationApplication.java @@ -26,5 +26,4 @@ public class NotificationApplication implements CommandLineRunner { public static void main(String[] args) { SpringApplication.run(NotificationApplication.class, args); } - } diff --git a/spring-reactor/src/test/java/com/baeldung/NotificationApplicationIntegrationTest.java b/spring-reactor/src/test/java/com/baeldung/NotificationApplicationIntegrationTest.java index 5ad9427397..6f6b39b2d5 100644 --- a/spring-reactor/src/test/java/com/baeldung/NotificationApplicationIntegrationTest.java +++ b/spring-reactor/src/test/java/com/baeldung/NotificationApplicationIntegrationTest.java @@ -19,6 +19,4 @@ public class NotificationApplicationIntegrationTest { RestTemplate restTemplate = new RestTemplate(); restTemplate.getForObject("http://localhost:" + port + "/startNotification/10", String.class); } - - } From 9d314d5bf7032296a610e5e05c2657eb52ef4e66 Mon Sep 17 00:00:00 2001 From: Krzysiek Date: Wed, 8 Jan 2020 20:41:16 +0100 Subject: [PATCH 3/3] BAEL-19928: Move code to com.baeldung.reactorbus package --- .../src/main/java/com/baeldung/{ => reactorbus}/Config.java | 2 +- .../baeldung/{ => reactorbus}/NotificationApplication.java | 4 ++-- .../{ => reactorbus}/consumer/NotificationConsumer.java | 6 +++--- .../{ => reactorbus}/controller/NotificationController.java | 4 ++-- .../baeldung/{ => reactorbus}/domain/NotificationData.java | 2 +- .../{ => reactorbus}/service/NotificationService.java | 4 ++-- .../service/impl/NotificationServiceimpl.java | 6 +++--- .../test/java/{org => com}/baeldung/SpringContextTest.java | 4 ++-- .../NotificationApplicationIntegrationTest.java | 2 +- 9 files changed, 17 insertions(+), 17 deletions(-) rename spring-reactor/src/main/java/com/baeldung/{ => reactorbus}/Config.java (93%) rename spring-reactor/src/main/java/com/baeldung/{ => reactorbus}/NotificationApplication.java (89%) rename spring-reactor/src/main/java/com/baeldung/{ => reactorbus}/consumer/NotificationConsumer.java (80%) rename spring-reactor/src/main/java/com/baeldung/{ => reactorbus}/controller/NotificationController.java (89%) rename spring-reactor/src/main/java/com/baeldung/{ => reactorbus}/domain/NotificationData.java (94%) rename spring-reactor/src/main/java/com/baeldung/{ => reactorbus}/service/NotificationService.java (58%) rename spring-reactor/src/main/java/com/baeldung/{ => reactorbus}/service/impl/NotificationServiceimpl.java (75%) rename spring-reactor/src/test/java/{org => com}/baeldung/SpringContextTest.java (83%) rename spring-reactor/src/test/java/com/baeldung/{ => reactorbus}/NotificationApplicationIntegrationTest.java (95%) diff --git a/spring-reactor/src/main/java/com/baeldung/Config.java b/spring-reactor/src/main/java/com/baeldung/reactorbus/Config.java similarity index 93% rename from spring-reactor/src/main/java/com/baeldung/Config.java rename to spring-reactor/src/main/java/com/baeldung/reactorbus/Config.java index ac1bfb3945..f849215dc4 100644 --- a/spring-reactor/src/main/java/com/baeldung/Config.java +++ b/spring-reactor/src/main/java/com/baeldung/reactorbus/Config.java @@ -1,4 +1,4 @@ -package com.baeldung; +package com.baeldung.reactorbus; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-reactor/src/main/java/com/baeldung/NotificationApplication.java b/spring-reactor/src/main/java/com/baeldung/reactorbus/NotificationApplication.java similarity index 89% rename from spring-reactor/src/main/java/com/baeldung/NotificationApplication.java rename to spring-reactor/src/main/java/com/baeldung/reactorbus/NotificationApplication.java index 6f0c8cdf96..b315e6ce25 100644 --- a/spring-reactor/src/main/java/com/baeldung/NotificationApplication.java +++ b/spring-reactor/src/main/java/com/baeldung/reactorbus/NotificationApplication.java @@ -1,6 +1,6 @@ -package com.baeldung; +package com.baeldung.reactorbus; -import com.baeldung.consumer.NotificationConsumer; +import com.baeldung.reactorbus.consumer.NotificationConsumer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; diff --git a/spring-reactor/src/main/java/com/baeldung/consumer/NotificationConsumer.java b/spring-reactor/src/main/java/com/baeldung/reactorbus/consumer/NotificationConsumer.java similarity index 80% rename from spring-reactor/src/main/java/com/baeldung/consumer/NotificationConsumer.java rename to spring-reactor/src/main/java/com/baeldung/reactorbus/consumer/NotificationConsumer.java index 56d038384a..d9d2586187 100644 --- a/spring-reactor/src/main/java/com/baeldung/consumer/NotificationConsumer.java +++ b/spring-reactor/src/main/java/com/baeldung/reactorbus/consumer/NotificationConsumer.java @@ -1,10 +1,10 @@ -package com.baeldung.consumer; +package com.baeldung.reactorbus.consumer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.baeldung.domain.NotificationData; -import com.baeldung.service.NotificationService; +import com.baeldung.reactorbus.domain.NotificationData; +import com.baeldung.reactorbus.service.NotificationService; import reactor.bus.Event; import reactor.fn.Consumer; diff --git a/spring-reactor/src/main/java/com/baeldung/controller/NotificationController.java b/spring-reactor/src/main/java/com/baeldung/reactorbus/controller/NotificationController.java similarity index 89% rename from spring-reactor/src/main/java/com/baeldung/controller/NotificationController.java rename to spring-reactor/src/main/java/com/baeldung/reactorbus/controller/NotificationController.java index 9d24b560cd..62a7b38662 100644 --- a/spring-reactor/src/main/java/com/baeldung/controller/NotificationController.java +++ b/spring-reactor/src/main/java/com/baeldung/reactorbus/controller/NotificationController.java @@ -1,11 +1,11 @@ -package com.baeldung.controller; +package com.baeldung.reactorbus.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; -import com.baeldung.domain.NotificationData; +import com.baeldung.reactorbus.domain.NotificationData; import reactor.bus.Event; import reactor.bus.EventBus; diff --git a/spring-reactor/src/main/java/com/baeldung/domain/NotificationData.java b/spring-reactor/src/main/java/com/baeldung/reactorbus/domain/NotificationData.java similarity index 94% rename from spring-reactor/src/main/java/com/baeldung/domain/NotificationData.java rename to spring-reactor/src/main/java/com/baeldung/reactorbus/domain/NotificationData.java index 2fdb4299a4..65d3559541 100644 --- a/spring-reactor/src/main/java/com/baeldung/domain/NotificationData.java +++ b/spring-reactor/src/main/java/com/baeldung/reactorbus/domain/NotificationData.java @@ -1,4 +1,4 @@ -package com.baeldung.domain; +package com.baeldung.reactorbus.domain; public class NotificationData { diff --git a/spring-reactor/src/main/java/com/baeldung/service/NotificationService.java b/spring-reactor/src/main/java/com/baeldung/reactorbus/service/NotificationService.java similarity index 58% rename from spring-reactor/src/main/java/com/baeldung/service/NotificationService.java rename to spring-reactor/src/main/java/com/baeldung/reactorbus/service/NotificationService.java index bb0e15b7eb..dfcd03ed68 100644 --- a/spring-reactor/src/main/java/com/baeldung/service/NotificationService.java +++ b/spring-reactor/src/main/java/com/baeldung/reactorbus/service/NotificationService.java @@ -1,6 +1,6 @@ -package com.baeldung.service; +package com.baeldung.reactorbus.service; -import com.baeldung.domain.NotificationData; +import com.baeldung.reactorbus.domain.NotificationData; public interface NotificationService { diff --git a/spring-reactor/src/main/java/com/baeldung/service/impl/NotificationServiceimpl.java b/spring-reactor/src/main/java/com/baeldung/reactorbus/service/impl/NotificationServiceimpl.java similarity index 75% rename from spring-reactor/src/main/java/com/baeldung/service/impl/NotificationServiceimpl.java rename to spring-reactor/src/main/java/com/baeldung/reactorbus/service/impl/NotificationServiceimpl.java index 20a24a68fd..aa305caaad 100644 --- a/spring-reactor/src/main/java/com/baeldung/service/impl/NotificationServiceimpl.java +++ b/spring-reactor/src/main/java/com/baeldung/reactorbus/service/impl/NotificationServiceimpl.java @@ -1,9 +1,9 @@ -package com.baeldung.service.impl; +package com.baeldung.reactorbus.service.impl; import org.springframework.stereotype.Service; -import com.baeldung.domain.NotificationData; -import com.baeldung.service.NotificationService; +import com.baeldung.reactorbus.domain.NotificationData; +import com.baeldung.reactorbus.service.NotificationService; @Service public class NotificationServiceimpl implements NotificationService { diff --git a/spring-reactor/src/test/java/org/baeldung/SpringContextTest.java b/spring-reactor/src/test/java/com/baeldung/SpringContextTest.java similarity index 83% rename from spring-reactor/src/test/java/org/baeldung/SpringContextTest.java rename to spring-reactor/src/test/java/com/baeldung/SpringContextTest.java index bc8542c5ac..68b6018433 100644 --- a/spring-reactor/src/test/java/org/baeldung/SpringContextTest.java +++ b/spring-reactor/src/test/java/com/baeldung/SpringContextTest.java @@ -1,11 +1,11 @@ -package org.baeldung; +package com.baeldung; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; -import com.baeldung.NotificationApplication; +import com.baeldung.reactorbus.NotificationApplication; @RunWith(SpringRunner.class) @SpringBootTest(classes = NotificationApplication.class) diff --git a/spring-reactor/src/test/java/com/baeldung/NotificationApplicationIntegrationTest.java b/spring-reactor/src/test/java/com/baeldung/reactorbus/NotificationApplicationIntegrationTest.java similarity index 95% rename from spring-reactor/src/test/java/com/baeldung/NotificationApplicationIntegrationTest.java rename to spring-reactor/src/test/java/com/baeldung/reactorbus/NotificationApplicationIntegrationTest.java index 6f6b39b2d5..0adea21fd4 100644 --- a/spring-reactor/src/test/java/com/baeldung/NotificationApplicationIntegrationTest.java +++ b/spring-reactor/src/test/java/com/baeldung/reactorbus/NotificationApplicationIntegrationTest.java @@ -1,4 +1,4 @@ -package com.baeldung; +package com.baeldung.reactorbus; import org.junit.Test; import org.junit.runner.RunWith;