SLING-13251 - MBean registration in ServletFilterManager fails for factory components (#80) - prefer service.pid over component.name, as the former is unique (if present), whereas the latter is not unique - quote filter name before including it in the JMX ObjectName - add test coverage for JMX MBean registration - extract method for DRYer code (and higher coverage)
This module is part of the Apache Sling project and implements the core Sling request processing pipeline.
org.apache.sling.engine provides the Sling engine bundle that:
javax.servlet (legacy) and jakarta.servlet through adapter classes# Build and package (skip tests) mvn clean install -DskipTests # Full build with tests mvn clean install # Run all tests mvn test # Run a single test class mvn test -Dtest=SlingRequestPathInfoTest # Run tests with a name pattern mvn test -Dtest="*FilterChain*" # License header check (Apache RAT) mvn apache-rat:check # Check formatting (Spotless, inherited from parent POM) mvn spotless:check # Apply formatting mvn spotless:apply # Run Japex microbenchmarks mvn test -Pbenchmarks
pom.xml Maven build descriptor bnd.bnd OSGi bundle manifest instructions src/ main/java/org/apache/sling/engine/ *.java Public API impl/ Internal implementation adapter/ javax <-> jakarta servlet adapters console/ Web Console plugins debug/ RequestProgressTracker integration filter/ Sling filter chain management helper/ Servlet context/request listener helpers log/ Request logging support parameters/ Request parameter and multipart handling request/ Request data and dispatching jmx/ JMX MBean interfaces servlets/ Error handler servlet API test/java/ Unit tests test/resources/japex/ Benchmark configurations
org.osgi.service.component.annotations).javax.servlet with a compatibility range and supports Jakarta Servlet API in parallel.