Strolch is a parameterized framework for use on servers and IoT
Find a file
Robert von Burg ea76f2ccfd
[Doc] Add link to parameter memory footprint baseline docs
Updated `README.md` to include a link to the `Parameter Memory Footprint Baseline` documentation. This provides better visibility and access to the newly added technical details for memory footprint analysis and optimization planning.
2026-07-13 16:18:08 +02:00
docs ESN-1688 [Doc] Update TemporaryFileRetention.md for config consistency 2026-07-03 14:26:49 +02:00
src [Project] Update copyrights to 2025 2025-05-16 10:16:55 +02:00
strolch-agent [Minor] Add default temp retention period in test configuration 2026-07-09 21:08:47 +02:00
strolch-bom Bump version to 2.7.0-SNAPSHOT 2026-05-04 14:24:09 +02:00
strolch-jmh-benchmark Bump version to 2.7.0-SNAPSHOT 2026-05-04 14:24:09 +02:00
strolch-model [Doc] Add link to parameter memory footprint baseline docs 2026-07-13 16:18:08 +02:00
strolch-persistence-postgresql [Doc] Add PostgreSQL persistence module documentation 2026-07-04 22:53:10 +02:00
strolch-persistence-xml [Doc] Add XML persistence module documentation 2026-07-04 22:55:52 +02:00
strolch-privilege [Doc] Add XML persistence module documentation 2026-07-04 23:10:33 +02:00
strolch-service [Doc] Add documentation for strolch-service module 2026-07-05 00:01:19 +02:00
strolch-soql [Fix] Correct JSON serialization for float values in tests 2026-06-02 13:43:21 +02:00
strolch-test-base [Fix] Add rollback handling for user transactions 2026-07-02 11:49:42 +02:00
strolch-utils [Doc] Add documentation for strolch-utils module 2026-07-05 00:04:49 +02:00
strolch-web-rest [Doc] Add documentation for strolch-web-rest module 2026-07-05 09:12:21 +02:00
strolch-websocket [Doc] Add documentation for Strolch WebSocket module 2026-07-05 09:15:31 +02:00
strolch-xmlpers Bump version to 2.7.0-SNAPSHOT 2026-05-04 14:24:09 +02:00
.gitignore [Project] Updated .gitignore files 2020-01-08 09:18:37 +01:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#7) 2018-03-28 19:44:31 +02:00
LICENSE [Project] added LICENSE and README.md 2014-09-16 09:29:42 +02:00
pom.xml [Minor] Remove commented code from Maven plugin configurations 2026-06-22 07:43:10 +02:00
qodana.yaml [Project] Updated qodana.yaml 2023-06-12 08:19:22 +02:00
README.md [Doc] Add link to parameter memory footprint baseline docs 2026-07-13 16:18:08 +02:00
SECURITY.md [Doc] Update SECURITY.md for clarity and supported versions 2026-07-04 21:28:58 +02:00

Strolch

Contributors License Commit Activity Forks Stars Issues Build Status Project Map

The main repository which contains all of Strolch.

Getting Started

Either use a version on Maven Central: https://mvnrepository.com/artifact/li.strolch/

Or install locally first:

git clone https://github.com/strolch-li/strolch.git
cd strolch
mvn clean install -DskipTests

Then you can create your own project. Please read the README files in the generated projects.

To create a Strolch project see https://strolch.li/development/

More Information

Find more about Strolch at our website: https://strolch.li

Features

Strolch Model

The Strolch model defines the core data structures used in the framework, including Resources, Orders, and Activities. It provides shared Java types, serialization contracts, and a flexible hierarchy for managing data through ParameterBags and Parameters.

For more technical details, see strolch-model/docs/strolch-model.md.

parameter-memory-footprint-baseline.md

Personal Access Tokens (PATs)

Personal Access Tokens (PATs) allow users to generate long-lived credentials to perform actions without a standard login flow. PATs can be restricted to a specific set of privileges and have their own expiration date.

Using PATs

Users can manage their PATs through the PrivilegeHandler. A PAT can be used for authentication by providing it to the authenticatePersonalAccessToken method, which returns a Certificate with the restricted scope defined for that token.

For more technical details, see strolch-privilege/docs/PersonalAccessToken.md.

Strolch Services

The strolch-service module provides the Service API for Strolch. It encapsulates business logic into reusable Services and Commands, and provides specialized frameworks for execution, reporting, and migrations.

For more technical details, see strolch-service/README.md.

Temporary File Retention

Strolch provides a mechanism to automatically clear old temporary files. This is handled by the ClearTempPathJob, which runs daily by default.

Configuration

Retention periods can be configured in strolch.xml using ISO-8601 durations:

  • temp.retention.default: Default retention (default is 3 months).
  • temp.retention.<prefix>: Specific retention for a subdirectory in the temp path.

For more details, see docs/TemporaryFileRetention.md.

Strolch Utils

The strolch-utils module is a collection of project-independent Java utility classes and helpers designed to simplify common programming tasks. It covers areas such as Design by Contract (DBC), object modification tracking, date/time handling, specialized collections, and various helper utilities for common Java types.

For more technical details, see strolch-utils/docs/strolch-utils.md.

PostgreSQL Persistence

The strolch-persistence-postgresql module provides a PostgreSQL-based persistence implementation. It supports storing Strolch elements in a PostgreSQL database using either XML or JSON formats. It includes automatic schema management and high-performance connection pooling.

For more technical details and setup instructions, see strolch-persistence-postgresql/README.md.

XML Persistence

The strolch-persistence-xml module provides a filesystem-based XML persistence implementation. It stores each Strolch element in its own XML file on the disk. It is suitable for smaller applications or development environments.

For more technical details and setup instructions, see strolch-persistence-xml/README.md.

Privilege

The strolch-privilege module is the Role-Based Access Control (RBAC) engine for Strolch. It handles user authentication, session management, and authorization using extensible policies.

For more technical details and setup instructions, see strolch-privilege/README.md.

REST API

The strolch-web-rest module provides a REST API for Strolch. It allows you to interact with Strolch elements using HTTP requests.

For more technical details and setup instructions, see strolch-web-rest/README.md.

WebSocket API

The strolch-websocket module provides a WebSocket API for Strolch. It allows you to receive real-time updates when Strolch elements are changed.

For more technical details and setup instructions, see strolch-websocket/README.md.

Build and Configuration

Prerequisites

  • Java (JDK 25 or higher recommended)
  • Maven 3.6+

Build Instructions

To build the entire project from the root:

mvn clean install

To skip tests:

mvn clean install -DskipTests