Spring Boot auto-configuration module. Pulls together the core, Redis, and the application layer into a single dependency that consumers drop into their project.
When @EnableBoomerang is present on the application class, the starter wires up:
BoomerangController— REST endpoints (POST /jobs,GET /jobs/{jobId}, failed-webhook endpoints) — path prefix configurable viaboomerang.base-pathBoomerangWorker— background thread pool that dequeues jobs and invokes the@BoomerangHandlerBoomerangWebhookService— delivers results to callback URLs with exponential-backoff retriesJwtAuthFilter— validates HS256 Bearer tokens on every requestCallbackUrlValidator— SSRF protection; rejects private/loopback addresses and URLs outside the configured allowlist
All properties are under the boomerang.* prefix. See the root README for the full reference.
Key properties:
boomerang:
auth:
jwt-secret: "" # required
callback:
allowed-domains: [] # SSRF allowlist
webhook:
max-attempts: 5
initial-backoff-ms: 1000
max-backoff-ms: 30000
thread-pool:
core-size: 5
max-size: 20
queue-capacity: 100At startup, BoomerangAutoConfiguration scans all beans for exactly one method annotated with @BoomerangHandler. The method must accept a single SyncContext parameter and return a value serialisable to JSON. The app fails fast with a clear message if the constraint is violated.
boomerang-coreboomerang-redisspring-boot-starter-webspring-boot-starter-data-redisspring-retryjjwtmicrometer-core