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
kalix-spring-boot-archetypeMaven archetype to create a project.
kalix-scala-sdk-protobuf: The Java/Scala Protobuf API to build services in Kalix. See Java/Scala Protobuf SDK.
kalix-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
scala-protobuf-. The code provides snippets for the documentation.
codegen/scala-genTooling to generate code from Protobuf with annotations.
kalix-maven-pluginMaven plugin to trigger code generation.
kalix-maven-archetype-event-sourced-entityMaven archetype to create a project with an Event-sourced Entity.
kalix-maven-archetype-value-entityMaven archetype to create a project with a Value Entity.
sbt-pluginsbt plugin for code generation.
sbt new(gitter8) templates:
tckThe 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.