KC-SERVICES0047 (internal eventsListener SPI warning) — present on 25.0.6, not new in 26
- Database
- Postgres 16, fresh empty DB per version
- Topology
- single container
- Host
- Hetzner ccx33 (8 vCPU / 32 GB)
- Rehearsal
- attempt 1 of 1 — this lab holds a path to three clean runs, one exercising rollback
Environment
| Field | Value |
|---|---|
| Keycloak versions | 25.0.6 and 26.0.0, same provider jar on both |
| Distribution | quay.io/keycloak/keycloak (official image) |
| Start mode | start w/ external DB |
| Database | Postgres 16, fresh empty DB per version |
| Provider under test | lab-event-listener (fixtures/spi), built against 25.0.6 via bin/build-spi.sh 25.0.6 |
| Topology | single container |
| Host | Hetzner ccx33 (8 vCPU / 32 GB) |
Procedure
./bin/build-spi.sh 25.0.6 # lab-event-listener-built-for-25.0.6.jar
# per version: down -v, set KC_VERSION, up db+keycloak, wait-ready
docker compose logs keycloak | grep -i "KC-SERVICES0047"
The jar is mounted at /opt/keycloak/providers (compose default).
Result
Both versions emit the warning at provider load:
WARN [org.keycloak.services] KC-SERVICES0047: lab-event-listener
(lab.LabEventListenerProviderFactory) is implementing the internal SPI
eventsListener. This SPI is internal and may change without notice
| Version | KC-SERVICES0047 emitted? |
|---|---|
| 25.0.6 | yes |
| 26.0.0 | yes |
The warning is not new in 26. It was present in 25.0.6. The earlier record
(2026-08-25-s7-custom-spi) had left this unchecked and warned against
claiming it was new in 26; that caution was correct, and the claim is now
refuted.
Verification
| Claim | Primary source | Checked |
|---|---|---|
| Warning appears on 25.0.6 | docker compose logs keycloak on 25.0.6 | ☑ |
| Warning appears on 26.0.0 (same jar) | docker compose logs keycloak on 26.0.0 | ☑ |
| Same provider on both (attributable jar) | jar filename records build version | ☑ |
| Earliest release that emits it | not checked — only 25.0.6 and 26.0.0 | ☐ |