4.7 KiB
| type | title | linkTitle | weight | description | cascade | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| docs | Dapr Java SDK | Java | 1000 | Java SDK packages for developing Dapr applications |
|
Dapr offers a variety of packages to help with the development of Java applications. Using them you can create Java clients, servers, and virtual actors with Dapr.
Prerequisites
- [Dapr CLI]({{% ref install-dapr-cli.md %}}) installed
- Initialized [Dapr environment]({{% ref install-dapr-selfhost.md %}})
- JDK 11 or above - the published jars are compatible with Java 8:
- Install one of the following build tools for Java:
Import Dapr's Java SDK
Next, import the Java SDK packages to get started. Select your preferred build tool to learn how to import.
{{< tabpane text=true >}}
{{% tab header="Maven" %}}
For a Maven project, add the following to your pom.xml file:
<project>
...
<dependencies>
...
<!-- Dapr's core SDK with all features, except Actors. -->
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk</artifactId>
<version>1.15.1</version>
</dependency>
<!-- Dapr's SDK for Actors (optional). -->
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-actors</artifactId>
<version>1.15.1</version>
</dependency>
<!-- Dapr's SDK integration with SpringBoot (optional). -->
<dependency>
<groupId>io.dapr</groupId>
<artifactId>dapr-sdk-springboot</artifactId>
<version>1.15.1</version>
</dependency>
...
</dependencies>
...
</project>
{{% /tab %}}
{{% tab header="Gradle" %}}
For a Gradle project, add the following to your build.gradle file:
dependencies {
...
// Dapr's core SDK with all features, except Actors.
compile('io.dapr:dapr-sdk:1.15.1')
// Dapr's SDK for Actors (optional).
compile('io.dapr:dapr-sdk-actors:1.15.1')
// Dapr's SDK integration with SpringBoot (optional).
compile('io.dapr:dapr-sdk-springboot:1.15.1')
}
{{% /tab %}}
{{< /tabpane >}}
If you are also using Spring Boot, you may run into a common issue where the OkHttp version that the Dapr SDK uses conflicts with the one specified in the Spring Boot Bill of Materials.
You can fix this by specifying a compatible OkHttp version in your project to match the version that the Dapr SDK uses:
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>1.15.1</version>
</dependency>
Try it out
Put the Dapr Java SDK to the test. Walk through the Java quickstarts and tutorials to see Dapr in action:
| SDK samples | Description |
|---|---|
| [Quickstarts]({{% ref quickstarts %}}) | Experience Dapr's API building blocks in just a few minutes using the Java SDK. |
| SDK samples | Clone the SDK repo to try out some examples and get started. |
import io.dapr.client.DaprClient;
import io.dapr.client.DaprClientBuilder;
try (DaprClient client = (new DaprClientBuilder()).build()) {
// sending a class with message; BINDING_OPERATION="create"
client.invokeBinding(BINDING_NAME, BINDING_OPERATION, myClass).block();
// sending a plain string
client.invokeBinding(BINDING_NAME, BINDING_OPERATION, message).block();
}
- For a full guide on output bindings visit [How-To: Output bindings]({{% ref howto-bindings.md %}}).
- Visit Java SDK examples for code samples and instructions to try out output bindings.
Available packages
Client
Create Java clients that interact with a Dapr sidecar and other Dapr applications.
Workflow
Create and manage workflows that work with other Dapr APIs in Java.