java-sdk/daprdocs/content/en/java-sdk-docs/_index.md

4.7 KiB

type title linkTitle weight description cascade
docs Dapr Java SDK Java 1000 Java SDK packages for developing Dapr applications
github_repo github_subdir path_base_for_github_subdir github_branch
https://github.com/dapr/java-sdk daprdocs/content/en/java-sdk-docs content/en/developing-applications/sdks/java/ master

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

Import Dapr's Java SDK

Next, import the Java SDK packages to get started. Select your preferred build tool to learn how to import.

{{< tabs Maven Gradle >}}

{{% codetab %}}

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.12.2</version>
    </dependency>
    <!-- Dapr's SDK for Actors (optional). -->
    <dependency>
      <groupId>io.dapr</groupId>
      <artifactId>dapr-sdk-actors</artifactId>
      <version>1.12.2</version>
    </dependency>
    <!-- Dapr's SDK integration with SpringBoot (optional). -->
    <dependency>
      <groupId>io.dapr</groupId>
      <artifactId>dapr-sdk-springboot</artifactId>
      <version>1.12.2</version>
    </dependency>
    ...
  </dependencies>
  ...
</project>

{{% /codetab %}}

{{% codetab %}}

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.12.2')
    // Dapr's SDK for Actors (optional).
    compile('io.dapr:dapr-sdk-actors:1.12.2')
    // Dapr's SDK integration with SpringBoot (optional).
    compile('io.dapr:dapr-sdk-springboot:1.12.2')
}

{{% /codetab %}}

{{< /tabs >}}

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.12.2</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.