Skip to content

io microsphere spring config env event PropertySourcesChangedEvent

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

PropertySourcesChangedEvent

Type: Class | Module: microsphere-spring-context | Package: io.microsphere.spring.config.env.event | Since: 1.0.0

Source: microsphere-spring-context/src/main/java/io/microsphere/spring/config/env/event/PropertySourcesChangedEvent.java

Overview

Event raised when one or more PropertySource instances are added, removed, or replaced in the environment's property sources. This event extends ApplicationContextEvent, which means it is associated with an ApplicationContext.

PropertySourcesChangedEvent encapsulates multiple PropertySourceChangedEvents to represent bulk changes to the property sources. It allows consumers to inspect individual changes and also provides utility methods to extract added, removed, and overall changed properties.

Example Usage

`// Creating a PropertySourcesChangedEvent from multiple PropertySourceChangedEvents
PropertySourceChangedEvent addedEvent = PropertySourceChangedEvent.added(context, newPropertySource);
PropertySourceChangedEvent removedEvent = PropertySourceChangedEvent.removed(context, oldPropertySource);

PropertySourcesChangedEvent combinedEvent = new PropertySourcesChangedEvent(context, Arrays.asList(addedEvent, removedEvent));

// Getting all changed properties
Map allChangedProperties = combinedEvent.getChangedProperties();

// Getting only added properties
Map addedProperties = combinedEvent.getAddedProperties();

// Getting only removed properties
Map removedProperties = combinedEvent.getRemovedProperties();
`

Declaration

public class PropertySourcesChangedEvent extends ApplicationContextEvent

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

// Creating a PropertySourcesChangedEvent from multiple PropertySourceChangedEvents
PropertySourceChangedEvent addedEvent = PropertySourceChangedEvent.added(context, newPropertySource);
PropertySourceChangedEvent removedEvent = PropertySourceChangedEvent.removed(context, oldPropertySource);

PropertySourcesChangedEvent combinedEvent = new PropertySourcesChangedEvent(context, Arrays.asList(addedEvent, removedEvent));

// Getting all changed properties
Map<String, Object> allChangedProperties = combinedEvent.getChangedProperties();

// Getting only added properties
Map<String, Object> addedProperties = combinedEvent.getAddedProperties();

// Getting only removed properties
Map<String, Object> removedProperties = combinedEvent.getRemovedProperties();

Method Examples

getSubEvents

PropertySourceChangedEvent addedEvent = PropertySourceChangedEvent.added(context, newPropertySource);
  PropertySourceChangedEvent removedEvent = PropertySourceChangedEvent.removed(context, oldPropertySource);
  PropertySourcesChangedEvent event = new PropertySourcesChangedEvent(context, addedEvent, removedEvent);
  assertEquals(2, event.getSubEvents().size());
PropertySourceChangedEvent addedEvent = PropertySourceChangedEvent.added(context, newPropertySource);
  PropertySourceChangedEvent removedEvent = PropertySourceChangedEvent.removed(context, oldPropertySource);
  List<PropertySourceChangedEvent> subEvents = Arrays.asList(addedEvent, removedEvent);
  PropertySourcesChangedEvent event = new PropertySourcesChangedEvent(context, subEvents);
  assertEquals(2, event.getSubEvents().size());

Usage

Maven Dependency

Add the following dependency to your pom.xml:

<dependency>
    <groupId>io.github.microsphere-projects</groupId>
    <artifactId>microsphere-spring-context</artifactId>
    <version>${microsphere-spring.version}</version>
</dependency>

Tip: Use the BOM (microsphere-spring-dependencies) for consistent version management. See the Getting Started guide.

Import

import io.microsphere.spring.config.env.event.PropertySourcesChangedEvent;

API Reference

Public Methods

Method Description
getSubEvents Constructs a new PropertySourcesChangedEvent with a varargs array of sub-events.

Method Details

getSubEvents

public List<PropertySourceChangedEvent> getSubEvents()

Constructs a new PropertySourcesChangedEvent with a varargs array of sub-events.

Example Usage

`PropertySourceChangedEvent addedEvent = PropertySourceChangedEvent.added(context, newPropertySource);
  PropertySourceChangedEvent removedEvent = PropertySourceChangedEvent.removed(context, oldPropertySource);
  PropertySourcesChangedEvent event = new PropertySourcesChangedEvent(context, addedEvent, removedEvent);
  assertEquals(2, event.getSubEvents().size());
`

See Also

  • PropertySourceChangedEvent
  • PropertySource
  • ApplicationContextEvent

This documentation was auto-generated from the source code of microsphere-spring.

Home

spring-context

spring-guice

spring-jdbc

spring-test

spring-web

spring-webflux

spring-webmvc

Clone this wiki locally