## Uses of Interface
org.springframework.context.ApplicationListener

- Packages that use ApplicationListener
  Package | Description
  --- | ---
  org.springframework.context | This package builds on the beans package to add support for message sources and for the Observer design pattern, and the ability for application objects to obtain resources using a consistent API.
  org.springframework.context.event | Support classes for application events, like standard context events.
  org.springframework.context.support | Classes supporting the org.springframework.context package, such as abstract base classes for ApplicationContext implementations and a MessageSource implementation.
  org.springframework.jms.config | Support package for declarative messaging configuration, with Java configuration and XML schema support.
  org.springframework.messaging.simp.user | Support for handling messages to "user" destinations (i.e.
  org.springframework.scheduling.annotation | Annotation support for asynchronous method execution.
  org.springframework.transaction.event | Spring's support for listening to transaction events.
  org.springframework.web.reactive.resource | Support classes for serving static resources.
  org.springframework.web.socket.messaging | WebSocket integration for Spring's messaging module.

- - ### Uses of ApplicationListener in org.springframework.context

    Methods in org.springframework.context that return ApplicationListener
    Modifier and Type | Method and Description
    --- | ---
    `static <T> ApplicationListener<PayloadApplicationEvent<T>>` | ApplicationListener.`forPayload(Consumer<T> consumer)` Create a new `ApplicationListener` for the given payload consumer.

    Methods in org.springframework.context with parameters of type ApplicationListener
    Modifier and Type | Method and Description
    --- | ---
    `void` | ConfigurableApplicationContext.`addApplicationListener(ApplicationListener<?> listener)` Add a new ApplicationListener that will be notified on context events such as context refresh and context shutdown.

  - ### Uses of ApplicationListener in org.springframework.context.event

    Subinterfaces of ApplicationListener in org.springframework.context.event
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `GenericApplicationListener` Extended variant of the standard `ApplicationListener` interface, exposing further metadata such as the supported event and source type.
    `interface` | `SmartApplicationListener` Extended variant of the standard `ApplicationListener` interface, exposing further metadata such as the supported event and source type.

    Classes in org.springframework.context.event that implement ApplicationListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ApplicationListenerMethodAdapter` `GenericApplicationListener` adapter that delegates the processing of an event to an `EventListener` annotated method.
    `class` | `GenericApplicationListenerAdapter` `GenericApplicationListener` adapter that determines supported event types through introspecting the generically declared type of the target listener.
    `class` | `SourceFilteringListener` `ApplicationListener` decorator that filters events from a specified event source, invoking its delegate listener for matching `ApplicationEvent` objects only.

    Methods in org.springframework.context.event that return ApplicationListener
    Modifier and Type | Method and Description
    --- | ---
    `ApplicationListener<?>` | DefaultEventListenerFactory.`createApplicationListener(String beanName, Class<?> type, Method method)`
    `ApplicationListener<?>` | EventListenerFactory.`createApplicationListener(String beanName, Class<?> type, Method method)` Create an `ApplicationListener` for the specified method.

    Methods in org.springframework.context.event that return types with arguments of type ApplicationListener
    Modifier and Type | Method and Description
    --- | ---
    `protected Collection<ApplicationListener<?>>` | AbstractApplicationEventMulticaster.`getApplicationListeners()` Return a Collection containing all ApplicationListeners.
    `protected Collection<ApplicationListener<?>>` | AbstractApplicationEventMulticaster.`getApplicationListeners(ApplicationEvent event, ResolvableType eventType)` Return a Collection of ApplicationListeners matching the given event type.

    Methods in org.springframework.context.event with parameters of type ApplicationListener
    Modifier and Type | Method and Description
    --- | ---
    `void` | ApplicationEventMulticaster.`addApplicationListener(ApplicationListener<?> listener)` Add a listener to be notified of all events.
    `void` | AbstractApplicationEventMulticaster.`addApplicationListener(ApplicationListener<?> listener)`
    `protected void` | SimpleApplicationEventMulticaster.`invokeListener(ApplicationListener<?> listener, ApplicationEvent event)` Invoke the given listener with the given event.
    `void` | ApplicationEventMulticaster.`removeApplicationListener(ApplicationListener<?> listener)` Remove a listener from the notification list.
    `void` | AbstractApplicationEventMulticaster.`removeApplicationListener(ApplicationListener<?> listener)`
    `protected boolean` | AbstractApplicationEventMulticaster.`supportsEvent(ApplicationListener<?> listener, ResolvableType eventType, Class<?> sourceType)` Determine whether the given listener supports the given event.

    Method parameters in org.springframework.context.event with type arguments of type ApplicationListener
    Modifier and Type | Method and Description
    --- | ---
    `void` | ApplicationEventMulticaster.`removeApplicationListeners(Predicate<ApplicationListener<?>> predicate)` Remove all matching listeners from the set of registered `ApplicationListener` instances (which includes adapter classes such as `ApplicationListenerMethodAdapter`, e.g.
    `void` | AbstractApplicationEventMulticaster.`removeApplicationListeners(Predicate<ApplicationListener<?>> predicate)`

    Constructors in org.springframework.context.event with parameters of type ApplicationListener
    Constructor and Description
    `GenericApplicationListenerAdapter(ApplicationListener<?> delegate)` Create a new GenericApplicationListener for the given delegate.
    `SourceFilteringListener(Object source, ApplicationListener<?> delegate)` Create a SourceFilteringListener for the given event source.

  - ### Uses of ApplicationListener in org.springframework.context.support

    Methods in org.springframework.context.support that return types with arguments of type ApplicationListener
    Modifier and Type | Method and Description
    --- | ---
    `Collection<ApplicationListener<?>>` | AbstractApplicationContext.`getApplicationListeners()` Return the list of statically specified ApplicationListeners.

    Methods in org.springframework.context.support with parameters of type ApplicationListener
    Modifier and Type | Method and Description
    --- | ---
    `void` | AbstractApplicationContext.`addApplicationListener(ApplicationListener<?> listener)`

  - ### Uses of ApplicationListener in org.springframework.jms.config

    Classes in org.springframework.jms.config that implement ApplicationListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JmsListenerEndpointRegistry` Creates the necessary `MessageListenerContainer` instances for the registered endpoints.

  - ### Uses of ApplicationListener in org.springframework.messaging.simp.user

    Classes in org.springframework.messaging.simp.user that implement ApplicationListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MultiServerUserRegistry` `SimpUserRegistry` that looks up users in a "local" user registry as well as a set of "remote" user registries.
    `class` | `UserRegistryMessageHandler` `MessageHandler` that handles user registry broadcasts from other application servers and periodically broadcasts the content of the local user registry.

  - ### Uses of ApplicationListener in org.springframework.scheduling.annotation

    Classes in org.springframework.scheduling.annotation that implement ApplicationListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ScheduledAnnotationBeanPostProcessor` Bean post-processor that registers methods annotated with `@Scheduled` to be invoked by a `TaskScheduler` according to the "fixedRate", "fixedDelay", or "cron" expression provided via the annotation.

  - ### Uses of ApplicationListener in org.springframework.transaction.event

    Subinterfaces of ApplicationListener in org.springframework.transaction.event
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `TransactionalApplicationListener<E extends ApplicationEvent>` An `ApplicationListener` that is invoked according to a `TransactionPhase`.

    Classes in org.springframework.transaction.event that implement ApplicationListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `TransactionalApplicationListenerAdapter<E extends ApplicationEvent>` `TransactionalApplicationListener` adapter that delegates the processing of an event to a target `ApplicationListener` instance.
    `class` | `TransactionalApplicationListenerMethodAdapter` `GenericApplicationListener` adapter that delegates the processing of an event to a `TransactionalEventListener` annotated method.

    Methods in org.springframework.transaction.event that return ApplicationListener
    Modifier and Type | Method and Description
    --- | ---
    `ApplicationListener<?>` | TransactionalEventListenerFactory.`createApplicationListener(String beanName, Class<?> type, Method method)`

    Constructors in org.springframework.transaction.event with parameters of type ApplicationListener
    Constructor and Description
    `TransactionalApplicationListenerAdapter(ApplicationListener<E> targetListener)` Construct a new TransactionalApplicationListenerAdapter.

  - ### Uses of ApplicationListener in org.springframework.web.reactive.resource

    Classes in org.springframework.web.reactive.resource that implement ApplicationListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ResourceUrlProvider` A central component to use to obtain the public URL path that clients should use to access a static resource.

  - ### Uses of ApplicationListener in org.springframework.web.socket.messaging

    Classes in org.springframework.web.socket.messaging that implement ApplicationListener
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DefaultSimpUserRegistry` A default implementation of `SimpUserRegistry` that relies on `AbstractSubProtocolEvent` application context events to keep track of connected users and their subscriptions.