The Kalix JVM SDKs are used to develop Kalix services using Java or Scala. Two different development approaches are available as listed below:
- Java SDK (code-first)
- Java Protobuf SDK (protocol-first)
- Scala Protobuf SDK (protocol-first)
If you’re just looking to get started, we advise you to start with the Java SDK which is the only one supporting a code-first development approach at present. For more information see the documentation for implementing Kalix services in Java.
- User-facing packages
kalix-spring-boot-starter
: The Java API to build services in Kalix with a code-first development approach using a Spring Boot Starter. See Java SDK.kalix-spring-boot-starter-test
: A library to implement integration tests for services, based on TestContainers. Also contains library parts of unit TestKit.
- Samples: Small example services to illustrate Kalix features for this SDK are prefixed with
java-spring-
. The code also provides snippets for the documentation. - Developer tooling
maven-java
Maven toolingkalix-spring-boot-archetype
Maven archetype to create a project.
-
User-facing packages
-
kalix-java-sdk-protobuf
andkalix-scala-sdk-protobuf
: The Java/Scala Protobuf API to build services in Kalix. See Java/Scala Protobuf SDK. -
kalix-java-sdk-testkit
andkalix-scala-sdk-testkit
: A library to implement integration tests for services, based on TestContainers. Also contains library parts of unit TestKit.
-
-
Samples: Small example services to illustrate Kalix features are prefixed with
java-protobuf-
orscala-protobuf-
. The code provides snippets for the documentation. -
Developer tooling
codegen/core
,codegen/java-gen
,codegen/scala-gen
Tooling to generate code from Protobuf with annotations.maven-java
Maven toolingkalix-maven-plugin
Maven plugin to trigger code generation.kalix-maven-archetype-event-sourced-entity
Maven archetype to create a project with an Event-sourced Entity.kalix-maven-archetype-value-entity
Maven archetype to create a project with a Value Entity.
sbt-plugin
sbt plugin for code generation.sbt new
(gitter8) templates:
-
docs
The documentation feeding into Java SDK and Java/Scala Protobuf SDK. -
tck
The Technology Compatibility Kit which ensures the Java SDK adheres to the Kalix protocol.
The Kalix JVM SDKs are Open Source and available under the Apache 2 License.