v1.2.0 GA Multi-Arch Docker (ARM64/AMD64), Spring Boot 3 Starter & Federated OIDC SSO released! Explore Docs β†’
GMR - Science in Action
GMR Reports AOT Engine

>> Science in Action

πŸš€ 100% Compatible with JasperReports (.jrxml) β€’ GraalVM Native & Spring Boot 3

The Cloud-Native Document & Invoicing Engine.

Sub-millisecond Ahead-Of-Time (AOT) report compilation. Drop existing .jrxml templates straight into a 15ms cold start container with 35MB RAM and cut your Kubernetes bill by 85%.

$ docker run -p 8080:8080 ghcr.io/gmreserarch-io/gmr-reports:latest

Head-to-Head Benchmark

Why Engineering Teams are Replacing JasperReports

Tested on Kubernetes (EKS / AWS Graviton 3) generating 1,000-line electronic billing statements.

Cold Start Duration
14.8 ms Native AOT
JasperReports JVM: 22.4 seconds
⚑ 1,500x faster startup
Container RAM Footprint
35.2 MB Distroless
JasperReports JVM: 920 MB
πŸ“‰ 26x lighter memory
P99 Rendering Latency
88 ms per 1,000 items
JasperReports JVM: 1,420 ms
πŸš€ 16x higher throughput
Dynamic Code CVEs
Zero Deterministic AST
JasperReports Groovy: High Vulnerability
πŸ›‘οΈ Sandboxed arithmetic

Cloud ROI Estimator

Calculate Your Kubernetes Infrastructure Savings

See how much you save on AWS EKS / GCP GKE compute nodes by ditching JVM bloat.

Monthly Document Volume: 1,000,000 docs
50k 2.5M 5M 10M+
Current JasperReports Replicas (Pods): 12 pods
2 pods 25 pods 50 pods
RAM Allocated per Pod: 1.5 GB
512 MB 2.0 GB 4.0 GB
Estimated Annual Cloud Savings
$5,592 / yr
πŸŽ‰ 89.9% Infrastructure Cost Reduction
Current Legacy Cloud Spend: $518 / mo
GMR Reports Cloud Spend: $52 / mo

Architectural Advantage

Engineered for Zero-Downtime Microservices

🎯

Deterministic AST Evaluator

No Java/Groovy bytecode compilation at runtime. Closed-world AOT compliant with GraalVM Native Image.

πŸ›‘οΈ

Last-Known-Good Resilience

If a broken JRXML is uploaded in production, the engine automatically serves the previous valid version without downtime.

☸️

Multi-Pod Cluster L1/L2 Sync

Proprietary atomic cache synchronization over ReadWriteMany PVCs or Redis, updating all replicas in sub-milliseconds.

🏒

SaaS Multi-Tenancy & Quotas

Token-bucket rate limiting, monthly billing cycle tracking, and API Key / OIDC JWT token validation out-of-the-box.

πŸ“±

Vectorial Barcodes & QR Codes

Native ZXing integration drawing directly into PDF vectors. Zero desktop AWT/X11 dependencies.

πŸ“Š

Streaming Excel (FastExcel)

Generates high-speed .xlsx spreadsheets via streaming ZIP compression with zero OutOfMemory risks.

Documentation Hub

Get Started in Under 60 Seconds

Spring Boot 3 Starter Integration

Add our official starter to your Maven or Gradle build for automatic bean configuration:

<dependency>
    <groupId>com.gmr.reports</groupId>
    <artifactId>gmr-reports-spring-boot-starter</artifactId>
    <version>1.0.0</version>
</dependency>
Inject service bean into your controller:
@RestController
public class InvoiceController {

    @Autowired
    private GmrSpringReportService reportService;

    @GetMapping("/invoice.pdf")
    public ResponseEntity<byte[]> getInvoice() throws Exception {
        byte[] pdf = reportService.renderPdf("invoice", params, items);
        return ResponseEntity.ok().contentType(MediaType.APPLICATION_PDF).body(pdf);
    }
}

Frequently Asked Questions

Technical & Licensing Inquiries

Do we need to rewrite our existing JasperReports templates? β–Ό

No. GMR Reports was explicitly engineered to ingest standard .jrxml files generated by Jaspersoft Studio. Bands, expressions, parameters, totals, and barcodes render drop-in without template redesign.

How does the Last-Known-Good Fallback protect production? β–Ό

If a corrupted or invalid XML template is uploaded to a shared volume or hot-reloaded during live operations, GMR Reports detects the parsing failure, raises an alert, and seamlessly continues serving the last valid compiled version in memory. Production document flows never crash.

Can we deploy on Oracle Cloud (OCI), AWS Graviton, and Apple Silicon? β–Ό

Yes! Our official Docker images on GHCR are multi-architecture (linux/amd64 and linux/arm64). In fact, GMR Reports can run in the OCI Always Free tier consuming less than 1% of the allocated 24GB RAM.

What is the difference between Community and Enterprise licensing? β–Ό

The Community Edition is free for evaluation and development with public artifacts on Maven Central. The Enterprise Edition provides air-gapped self-hosted Kubernetes Helm licenses, unlimited rendering, Redis/Hazelcast cluster sync, FIPS/banking compliance, and 24/7 dedicated engineering SLAs.

Transparent Pricing

Simple, Predictable Plans for Every Scale

Developer Free
$0 / month

For evaluation and local microservices.

  • βœ“ 1,000 documents / month
  • βœ“ Studio Sandbox Web UI
  • βœ“ Multi-arch Docker images
  • βœ“ Community GitHub Support
Try in Sandbox
Startup
$299 / month

For growing SaaS platforms and billing apps.

  • βœ“ 100,000 documents / month
  • βœ“ $0.003 / extra document
  • βœ“ API Gateway Multi-Tenancy
  • βœ“ Stripe Webhooks integration
Get Started
Most Popular
Scale
$899 / month

For high-throughput electronic invoicing PACs.

  • βœ“ 500,000 documents / month
  • βœ“ $0.0018 / extra document
  • βœ“ 99.9% Production SLA
  • βœ“ Redis Cluster Cache Sync
  • βœ“ Priority Rendering Queues
Subscribe Now
Enterprise Self-Hosted
$25,000 / year

For air-gapped banking and enterprise clouds.

  • βœ“ Unlimited documents
  • βœ“ Kubernetes Helm Charts
  • βœ“ SOC2 & FIPS Compliance
  • βœ“ 24/7 Dedicated Architect Support
Contact Enterprise Sales