Scheduled Reports
Cron-based generation for daily, weekly, monthly, and tenant-specific reports.
- Cron schedules
- Timezone-aware generation
- Retry policy
- Run history
Report-Boot is useful today as an embedded Spring Boot reporting framework. It is also designed to evolve into a platform foundation for enterprise and microservice environments. Current capabilities are marked separately from roadmap direction.
These are the advanced capabilities around the core reporting engine. Some exist today through the embedded library and configuration model; others are platform roadmap items.
Cron-based generation for daily, weekly, monthly, and tenant-specific reports.
Send generated reports as attachments or secure expiring links.
Reduce repeated work by caching templates, metadata, and renderer lookups.
Validate provider templates during startup so bad reports fail early.
Archive generated report metadata and content for scalable retrieval.
Store large reports outside application memory for distributed deployments.
Submit long-running reports and poll status or receive callbacks.
Notify external systems when generation completes, fails, expires, or downloads.
Operational visibility through metrics, structured logs, and provider diagnostics.
Future provider direction for reports enriched from external sources.
Import marketplace report packages directly into Spring Boot applications.
Validate a report package before storing or sending final output.
This section is written for backend and platform engineers. It separates what the embedded runtime can do today from the server-mode direction needed for multi-service deployments, shared storage, queue-backed jobs, gateway context, and platform observability.
Today
11 runtime capabilities
Providers
5 rendering paths
Boundary
tenant + lifecycle
Direction
server mode roadmap
Use Report-Boot inside an existing Spring Boot service when the service already owns the data, identity, and business rules.
Treat reports as reviewed application contracts, not hidden export scripts scattered across controllers.
A shared dispatch path selects the renderer and returns a common generated report model across engines.
Generate operational workbooks directly from named SQL definitions when teams need query-first reports.
Generated files are handled through a lifecycle object instead of returning anonymous bytes from every feature.
SQL reports can enforce tenant context so exports do not bypass the same isolation expected by application APIs.
Streaming Excel settings make memory, disk, and sheet overflow behavior explicit for large exports.
Report generation is designed to fit modern Java services, including independent sheet/query work that can use virtual-thread-friendly execution.
Production logs should show the actionable root cause by default, with full traces enabled only when troubleshooting needs them.
Shared YAML properties help teams configure report behavior consistently across services and environments.
Watermarking supports controlled distribution when generated files contain internal, user, or tenant data.
For organizations that outgrow embedded-only reporting, Report-Boot can evolve toward a dedicated server mode.
A central service needs explicit trusted context from the edge or gateway instead of guessing tenant and user state.
Multi-instance deployments need durable report metadata and file storage outside application memory.
Future platform packaging should support local evaluation, production deployment, and queue-backed background generation.
A reporting platform should expose health, readiness, correlation, and renderer/storage metrics like any other service.
These items are roadmap/platform direction, not current embedded-library claims. The current recommendation is to start embedded, standardize conventions, and move to central service mode only when the organization has a clear platform need.
Standalone Report-Boot Server
REST generation API
Async report jobs
Shared filesystem storage
JDBC report repository
Docker image and Compose demo
Kubernetes manifests
Helm chart
API Gateway examples
REST client starter
RabbitMQ/Kafka worker modules
Observability and health checks