Running with springboot 2.2.5 ,which contains spring version: spring-core-5.2.4 and spring-aop-5.2.4.
Scenario: My Listener as bellow: @Service public class UserJoinRoomListener implements ApplicationListener<UserJoinRoomEvent> { @Override @TraceSource(sampler = RoomEntrySampler.class) //AOP here to trigger #{RoomEntrySampler#process} after current funtion invoked public void onApplicationEvent(UserJoinRoomEvent event) { System.out.println("Hello "); } }
RoomEntrySampler code as bellow: public class RoomEntrySampler{ @Override public void process(UserJoinRoomEvent event) { System.out.println("World"); } }
when i call ApplicationContext.publishEvent(new UserJoinRoomEvent(xxx,xxx))
Expectation: it should print "Hello World".
Actually: it print "Hello Hello World"
Question: to my understanding, Function "onApplicationEvent"(the proxy object ) should only be invoked at just one time and run at one go. but it's not eventually ,, can i consider this situation as a "Bug"?
Comment From: quaff
You should provide a minimal test project.
Comment From: freezingWu
close this issue ,and track it in https://github.com/spring-projects/spring-boot/issues/23066.