Refactor Spring-Reactor samples
This commit is contained in:
parent
20bbeb3e65
commit
06f10646b1
|
@ -1,5 +1,8 @@
|
|||
package com.baeldung.poi.word;
|
||||
|
||||
import org.apache.poi.util.Units;
|
||||
import org.apache.poi.xwpf.usermodel.*;
|
||||
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.URISyntaxException;
|
||||
|
@ -9,13 +12,6 @@ import java.nio.file.Paths;
|
|||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.apache.poi.util.Units;
|
||||
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
|
||||
import org.apache.poi.xwpf.usermodel.UnderlinePatterns;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFRun;
|
||||
|
||||
public class WordDocument {
|
||||
public static String logo = "logo-leaf.png";
|
||||
public static String paragraph1 = "poi-word-para1.txt";
|
||||
|
|
|
@ -15,35 +15,34 @@ import reactor.bus.EventBus;
|
|||
|
||||
import static reactor.bus.selector.Selectors.$;
|
||||
|
||||
|
||||
@Configuration
|
||||
@EnableAutoConfiguration
|
||||
@ComponentScan
|
||||
public class Application implements CommandLineRunner {
|
||||
|
||||
@Autowired
|
||||
private EventBus eventBus;
|
||||
|
||||
@Autowired
|
||||
private NotificationConsumer notificationConsumer;
|
||||
|
||||
|
||||
@Autowired
|
||||
private EventBus eventBus;
|
||||
|
||||
@Autowired
|
||||
private NotificationConsumer notificationConsumer;
|
||||
|
||||
@Bean
|
||||
Environment env() {
|
||||
return Environment.initializeIfEmpty().assignErrorJournal();
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
EventBus createEventBus(Environment env) {
|
||||
return EventBus.create(env, Environment.THREAD_POOL);
|
||||
return EventBus.create(env, Environment.THREAD_POOL);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(String... args) throws Exception {
|
||||
eventBus.on($("notificationConsumer"), notificationConsumer);
|
||||
}
|
||||
@Override
|
||||
public void run(String... args) throws Exception {
|
||||
eventBus.on($("notificationConsumer"), notificationConsumer);
|
||||
}
|
||||
|
||||
public static void main(String[] args){
|
||||
SpringApplication.run(Application.class, args);
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(Application.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -12,17 +12,18 @@ import reactor.fn.Consumer;
|
|||
@Service
|
||||
public class NotificationConsumer implements Consumer<Event<NotificationData>> {
|
||||
|
||||
@Autowired
|
||||
private NotificationService notificationService;
|
||||
|
||||
@Override
|
||||
public void accept(Event<NotificationData> notificationDataEvent) {
|
||||
|
||||
NotificationData notificationData = notificationDataEvent.getData();
|
||||
try {
|
||||
notificationService.initiateNotofication(notificationData);
|
||||
} catch (InterruptedException e) {}
|
||||
|
||||
}
|
||||
@Autowired
|
||||
private NotificationService notificationService;
|
||||
|
||||
@Override
|
||||
public void accept(Event<NotificationData> notificationDataEvent) {
|
||||
|
||||
NotificationData notificationData = notificationDataEvent.getData();
|
||||
try {
|
||||
notificationService.initiateNotification(notificationData);
|
||||
} catch (InterruptedException e) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -13,25 +13,25 @@ import reactor.bus.EventBus;
|
|||
|
||||
@Controller
|
||||
public class NotificationController {
|
||||
|
||||
@Autowired
|
||||
private EventBus eventBus;
|
||||
|
||||
@RequestMapping(value = "/startNotification/{param}", method = RequestMethod.GET)
|
||||
public void startNotification(@PathVariable("param") String param) {
|
||||
|
||||
int notificationSize = Integer.parseInt(param);
|
||||
|
||||
for(int i = 0; i < notificationSize; i++) {
|
||||
|
||||
NotificationData data = new NotificationData();
|
||||
data.setId(i);
|
||||
|
||||
eventBus.notify("notificationConsumer",Event.wrap(data));
|
||||
|
||||
System.out.println("Notification " +i +": notification task submitted successfully");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private EventBus eventBus;
|
||||
|
||||
@RequestMapping(value = "/startNotification/{param}", method = RequestMethod.GET)
|
||||
public void startNotification(@PathVariable("param") String param) {
|
||||
|
||||
int notificationSize = Integer.parseInt(param);
|
||||
|
||||
for (int i = 0; i < notificationSize; i++) {
|
||||
|
||||
NotificationData data = new NotificationData();
|
||||
data.setId(i);
|
||||
|
||||
eventBus.notify("notificationConsumer", Event.wrap(data));
|
||||
|
||||
System.out.println("Notification " + i + ": notification task submitted successfully");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,35 +1,42 @@
|
|||
package com.baeldung.doman;
|
||||
|
||||
public class NotificationData {
|
||||
|
||||
private long id;
|
||||
private String name;
|
||||
private String email;
|
||||
private String mobile;
|
||||
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(long id) {
|
||||
this.id = id;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
public String getMobile() {
|
||||
return mobile;
|
||||
}
|
||||
public void setMobile(String mobile) {
|
||||
this.mobile = mobile;
|
||||
}
|
||||
private long id;
|
||||
private String name;
|
||||
private String email;
|
||||
private String mobile;
|
||||
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public String getMobile() {
|
||||
return mobile;
|
||||
}
|
||||
|
||||
public void setMobile(String mobile) {
|
||||
this.mobile = mobile;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -4,6 +4,6 @@ import com.baeldung.doman.NotificationData;
|
|||
|
||||
public interface NotificationService {
|
||||
|
||||
public void initiateNotofication(NotificationData notificationData) throws InterruptedException;
|
||||
|
||||
void initiateNotification(NotificationData notificationData) throws InterruptedException;
|
||||
|
||||
}
|
||||
|
|
|
@ -7,15 +7,15 @@ import com.baeldung.service.NotificationService;
|
|||
|
||||
@Service
|
||||
public class NotificationServiceimpl implements NotificationService {
|
||||
|
||||
@Override
|
||||
public void initiateNotofication(NotificationData notificationData) throws InterruptedException {
|
||||
|
||||
System.out.println("Notification service started for Notification ID: " +notificationData.getId());
|
||||
|
||||
Thread.sleep(5000);
|
||||
|
||||
System.out.println("Notification service ended for Notification ID: " +notificationData.getId());
|
||||
}
|
||||
@Override
|
||||
public void initiateNotification(NotificationData notificationData) throws InterruptedException {
|
||||
|
||||
System.out.println("Notification service started for Notification ID: " + notificationData.getId());
|
||||
|
||||
Thread.sleep(5000);
|
||||
|
||||
System.out.println("Notification service ended for Notification ID: " + notificationData.getId());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue