Skip to content

io microsphere spring context event ApplicationListenerInterceptor

github-actions[bot] edited this page Jun 18, 2026 · 18 revisions

ApplicationListenerInterceptor

Type: Interface | Module: microsphere-spring-context | Package: io.microsphere.spring.context.event | Since: 1.0.0

Source: microsphere-spring-context/src/main/java/io/microsphere/spring/context/event/ApplicationListenerInterceptor.java

Overview

An interceptor interface for ApplicationListener to provide additional behavior before or after the listener processes an event. Interceptors can be used to perform cross-cutting concerns such as logging, security checks, or performance monitoring.

Implementations should typically implement the #intercept(ApplicationListener, ApplicationEvent, ApplicationListenerInterceptorChain) method to define their specific behavior. If multiple interceptors are registered, they will be ordered by their respective order values, as defined in the Ordered interface.

Example Usage

{@code
public class LoggingApplicationListenerInterceptor implements ApplicationListenerInterceptor {

    private static final Logger logger = LoggerFactory.getLogger(LoggingApplicationListenerInterceptor.class);

### Declaration

```java
public interface ApplicationListenerInterceptor extends Ordered
```

**Author:** Mercy

## Version Information

- **Introduced in:** `1.0.0`
- **Current Project Version:** `0.2.27-SNAPSHOT`

## Version Compatibility

This component is tested and compatible with the following Java versions:

| Java Version | Status |
|:---:|:---:|
| Java 17 | ✅ Compatible |
| Java 21 | ✅ Compatible |
| Java 25 | ✅ Compatible |

## Examples

```java
public class LoggingApplicationListenerInterceptor implements ApplicationListenerInterceptor {

    private static final Logger logger = LoggerFactory.getLogger(LoggingApplicationListenerInterceptor.class);

    @Override
    public void intercept(ApplicationListener> applicationListener, ApplicationEvent event, ApplicationListenerInterceptorChain chain) {
        try {
            logger.info("Before handling event: {}", event.getClass().getSimpleName());
            chain.intercept(applicationListener, event);
        } finally {
            logger.info("After handling event: {}", event.getClass().getSimpleName());
        }
    }

    @Override
    public int getOrder() {
        return -1000; // Set a custom order value
    }
}
```

## Usage

### Maven Dependency

Add the following dependency to your `pom.xml`:

```xml

    io.github.microsphere-projects
    microsphere-spring-context
    ${microsphere-spring.version}

```

> **Tip:** Use the BOM (`microsphere-spring-dependencies`) for consistent version management. See the [Getting Started](https://github.com/microsphere-projects/microsphere-spring#getting-started) guide.

### Import

```java
import io.microsphere.spring.context.event.ApplicationListenerInterceptor;
```

## See Also

- `ApplicationListener`
- `ApplicationEvent`
- `ApplicationListenerInterceptorChain`

---

*This documentation was auto-generated from the source code of [microsphere-spring](https://github.com/microsphere-projects/microsphere-spring).*

Home

spring-context

spring-guice

spring-jdbc

spring-test

spring-web

spring-webflux

spring-webmvc

Clone this wiki locally