Multi-Runtime Standard API for the JVM
Cloud Runtimes JVM provides the Multi-Runtime Standard API for Mecha architecture projects on the Java Virtual Machine (JVM).
This project defines a unified, vendor-neutral API specification that enables Java applications to use standardized interfaces for distributed system capabilities across different runtime implementations.
| Runtime | Status | Description |
|---|---|---|
| Capa | ✅ Used | Primary Mecha SDK implementation |
| Dapr | 📋 Follow | Sidecar runtime reference |
| Layotto | 📋 Follow | MOSN-based sidecar implementation |
cloud-runtimes-jvm/
├── cloud-runtimes-api # Core API definitions
├── cloud-runtimes-capa # Capa SDK implementation
├── cloud-runtimes-dapr # Dapr runtime adapter
├── cloud-runtimes-layotto # Layotto runtime adapter
└── pom.xml # Maven parent POM
Key Design Principles:
- API-First: Clean separation between API specification and implementation
- Runtime Agnostic: Works with Capa SDK, Dapr, Layotto, and future runtimes
- Vendor Neutral: No lock-in to specific cloud providers or platforms
| Feature | Description | Status |
|---|---|---|
| 🔗 Service Invocation | RPC service-to-service communication | ✅ Stable |
| ⚙️ Configuration | Dynamic configuration management | ✅ Stable |
| 📨 Pub/Sub | Publish/Subscribe messaging | ✅ Stable |
| 💾 State Management | Key-value state storage | ✅ Stable |
| 🔐 Secret Management | Secure secret retrieval | ✅ Stable |
| 🔌 Binding | External system integration | ✅ Stable |
| 📁 File System | File storage operations | ✅ Stable |
| 🔒 Distributed Lock | Distributed locking | ✅ Stable |
| 📊 Telemetry | Logs, metrics, and traces | ✅ Stable |
| Feature | Description | Status |
|---|---|---|
| 🗄️ Database | SQL database operations | 🔬 Alpha |
| ⏰ Schedule | Scheduled task management | 🔬 Alpha |
| ⚡ Rate Limit | Rate limiting controls | 🔬 Alpha |
| 🌍 Environment | Environment variable management | 🔬 Alpha |
| 🔴 Native Redis | Direct Redis operations | 🔬 Alpha |
| 📝 Native SQL | Direct SQL operations | 🔬 Alpha |
| 📦 Native S3 | Direct S3 operations | 🔬 Alpha |
Cloud Runtimes JVM was created to address the need for standardized, portable APIs in the Multi-Runtime ecosystem:
- Future plans for Dapr API - Community discussion on API standardization
- Make Java SDK independent - Decoupling API from implementation
- Decompose core and enhanced APIs - API layering strategy
- Java SDK Design - API design patterns
Add the dependency to your pom.xml:
<dependency>
<groupId>group.rxcloud</groupId>
<artifactId>cloud-runtimes-api</artifactId>
<version>1.19.RELEASE</version>
</dependency>Add the dependency to your build.gradle:
implementation 'group.rxcloud:cloud-runtimes-api:1.19.RELEASE'Choose your runtime implementation:
<!-- For Capa SDK -->
<dependency>
<groupId>group.rxcloud</groupId>
<artifactId>cloud-runtimes-capa</artifactId>
<version>1.19.RELEASE</version>
</dependency>
<!-- For Dapr -->
<dependency>
<groupId>group.rxcloud</groupId>
<artifactId>cloud-runtimes-dapr</artifactId>
<version>1.19.RELEASE</version>
</dependency>
<!-- For Layotto -->
<dependency>
<groupId>group.rxcloud</groupId>
<artifactId>cloud-runtimes-layotto</artifactId>
<version>1.19.RELEASE</version>
</dependency>Cloud Runtimes JVM is part of the broader Capa Cloud ecosystem:
- capa-java - Java SDK implementation
- cloud-runtimes-python - Python API specification
- cloud-runtimes-golang - Go API specification
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Building portable, vendor-neutral cloud APIs for Java


