quickstart

The rumi quickstart commands generate complete Rumi applications and individual services to help you learn and develop with the Rumi platform.

Overview

The quickstart commands create fully functional Rumi applications with:

  • Maven-based build configuration

  • Generated message and state models

  • Complete service implementations

  • Ready-to-run configurations

Unlike traditional samples that you download, Rumi quickstart applications are generated by the CLI, ensuring compatibility with your installed Rumi runtime.

Commands

Command
Description

Generate a complete quickstart application with multiple microservices

Generate a Processor service (stateful, optionally clustered)

Generate a Driver service (message generator)

Generate a CSVWriter service (CSV output connector)

Generated Application Structure

rumi-quickstart/
β”œβ”€β”€ pom.xml                          # Maven build configuration
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main/
β”‚   β”‚   β”œβ”€β”€ java/                    # Generated and user code
β”‚   β”‚   β”‚   └── org/rumi/quickstart/
β”‚   β”‚   β”‚       β”œβ”€β”€ messages/        # Generated message classes
β”‚   β”‚   β”‚       β”œβ”€β”€ state/           # Generated state classes
β”‚   β”‚   β”‚       └── handlers/        # User message handlers
β”‚   β”‚   └── resources/
β”‚   β”‚       β”œβ”€β”€ app.xml              # Application configuration
β”‚   β”‚       β”œβ”€β”€ messages.adm         # Message model definitions
β”‚   β”‚       └── state.adm            # State model definitions
β”‚   └── test/
β”‚       └── java/                    # Test code
└── README.md                        # Application-specific README

Key Capabilities Demonstrated

The generated quickstart application showcases:

  • Message Modeling - Define messages using ADM (Application Data Modeling) language

  • Code Generation - Generate Java classes from message and state models

  • State Management - Durable, persistent state in the Processor

  • Messaging - Inter-microservice message passing

  • High Availability - Hot-standby clustering with state replication

  • Fault Tolerance - Transaction logging and automatic recovery

  • Configuration - Declarative configuration using X-DDL

After Generation

Once generated, the quickstart application includes a detailed README.md that guides you through:

  1. Building the application - Using Maven

  2. Running the microservices - Starting Driver, Processor, and CSVWriter

  3. Understanding the code - Exploring message handlers and state management

  4. Experimenting - Modifying the application to learn Rumi abstractions

  5. Testing fault tolerance - Stopping/starting cluster members to observe HA

Next Steps

After generating and exploring the quickstart application:

  1. Build and run it following the generated README.md

  2. Experiment with different encoding types and messaging providers

  3. Add additional services using the individual service commands

  4. Use it as a template for building your own applications

  5. Refer to the full documentation for deeper dives into specific topics

Last updated