Expo Push for Spring Boot
A high-performance, enterprise-ready starter for sending push notifications via Expo — pluggable backends, delivery-receipt tracking, and honest at-least-once semantics.
Get started
<dependency>
<groupId>dev.expopush</groupId>
<artifactId>expo-push-spring-boot-starter</artifactId>
</dependency>
Full setup, configuration reference, and examples live in the expo-push README.
Why this starter
- Three backends: SQS for scale, H2 for single-node persistence, in-memory for development
- Full delivery lifecycle: tickets, receipt polling, and five precisely-defined terminal outcomes with explicit duplicate-risk semantics
- AES-GCM payload encryption at rest on persistent backends
- Resilient consumers: DLQ-friendly poison handling, schema-versioned messages, credential-failure backoff, Retry-After-aware rate limiting
- Optional Micrometer metrics — counters, timers, and queue-depth gauges
Repositories
- expopush/expo-push The starter library — auto-configuration, backends, core client
- expopush/test-harnesses Runnable Spring Boot apps exercising each backend end-to-end
- expopush/test-target Python simulator of the Expo push API, published to GHCR
Artifacts on
Maven Central
under dev.expopush · Apache-2.0 licensed