- Custom events are by default synchronous
- Number of threads is checked with
jvisualvm
- If exception is raised and not handeled in event handler all handlers after that handler will not be executed.
This is default cinfiguration. If configuration is not changed Events will be handeled synchroniously.
This way no new Threads will be created.
If this is configured new thread will be created for every class that implements interface ApplicationListener.
Listener is invoked by SimpleApplicationEventMulticaster
List of listener is got by getApplicationListeners(ApplicationEvent, ResolvableType) in SimpleApplicationEventMulticaster
Listeners are added to list with AbstractApplicationEventMulticaster.addApplicationListenerBean(String)
Listeners are added by alphanumeric order by name.