kalix-jvm-sdk
kalix-jvm-sdk copied to clipboard
Java and Scala SDKs for Kalix
Kalix JVM SDKs
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.
Java SDK
- 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-javaMaven toolingkalix-spring-boot-archetypeMaven archetype to create a project.
Java/Scala Protobuf SDK
-
User-facing packages
-
kalix-java-sdk-protobufandkalix-scala-sdk-protobuf: The Java/Scala Protobuf API to build services in Kalix. See Java/Scala Protobuf SDK. -
kalix-java-sdk-testkitandkalix-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-genTooling to generate code from Protobuf with annotations.maven-javaMaven toolingkalix-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:
Common parts
-
docsThe documentation feeding into Java SDK and Java/Scala Protobuf SDK. -
tckThe Technology Compatibility Kit which ensures the Java SDK adheres to the Kalix protocol.
License
The Kalix JVM SDKs are Open Source and available under the Apache 2 License.