Skip to content

Commit a3343ed

Browse files
authored
BAEL-8130 Update article "Spring Events" (#18386)
* Create AnnotationDrivenEventListener.java * Update AsynchronousSpringEventsConfig.java * Update AnnotationDrivenEventListener.java * Update AnnotationDrivenEventListener.java
1 parent f062194 commit a3343ed

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.baeldung.springevents.asynchronous;
2+
3+
import org.springframework.context.event.EventListener;
4+
import org.springframework.stereotype.Component;
5+
import org.springframework.transaction.event.TransactionPhase;
6+
import org.springframework.transaction.event.TransactionalEventListener;
7+
import org.springframework.transaction.annotation.Transactional;
8+
import org.springframework.scheduling.annotation.Async;
9+
import static org.springframework.transaction.annotation.Propagation.REQUIRES_NEW;
10+
import com.baeldung.springevents.synchronous.CustomSpringEvent;
11+
12+
@Component
13+
public class AnnotationDrivenEventListener {
14+
15+
@EventListener
16+
@Async
17+
public void handleAsyncEvent(CustomSpringEvent event) {
18+
System.out.println("Handle event asynchronously: " + event.getMessage());
19+
}
20+
21+
@Async
22+
@Transactional(propagation = REQUIRES_NEW)
23+
@TransactionalEventListener
24+
void handleCustom(CustomSpringEvent event) {
25+
/* … */
26+
}
27+
}

spring-core/src/main/java/com/baeldung/springevents/asynchronous/AsynchronousSpringEventsConfig.java

+2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
import org.springframework.context.event.ApplicationEventMulticaster;
77
import org.springframework.context.event.SimpleApplicationEventMulticaster;
88
import org.springframework.core.task.SimpleAsyncTaskExecutor;
9+
import org.springframework.scheduling.annotation.EnableAsync;
910

11+
@EnableAsync
1012
@Configuration
1113
@ComponentScan("com.baeldung.springevents.synchronous")
1214
public class AsynchronousSpringEventsConfig {

0 commit comments

Comments
 (0)