Java

Dapr 提供了多种软件包来协助 Java 应用程序的开发。使用它们,你可以通过 Dapr 创建 Java 客户端、服务器和虚拟 Actor。

前提条件

导入 Dapr Java SDK

接下来,导入 Java SDK 软件包以开始使用。选择你首选的构建工具以了解如何导入。

对于 Maven 项目,将以下内容添加到你的 pom.xml 文件中:

<project>
  ...
  <dependencies>
    ...
    <!-- Dapr's core SDK with all features, except Actors. -->
    <dependency>
      <groupId>io.dapr</groupId>
      <artifactId>dapr-sdk</artifactId>
      <version>1.16.0</version>
    </dependency>
    <!-- Dapr's SDK for Actors (optional). -->
    <dependency>
      <groupId>io.dapr</groupId>
      <artifactId>dapr-sdk-actors</artifactId>
      <version>1.16.0</version>
    </dependency>
    <!-- Dapr's SDK integration with SpringBoot (optional). -->
    <dependency>
      <groupId>io.dapr</groupId>
      <artifactId>dapr-sdk-springboot</artifactId>
      <version>1.16.0</version>
    </dependency>
    ...
  </dependencies>
  ...
</project>

对于 Gradle 项目,将以下内容添加到你的 build.gradle 文件中:

dependencies {
...
    // Dapr's core SDK with all features, except Actors.
    compile('io.dapr:dapr-sdk:1.16.0')
    // Dapr's SDK for Actors (optional).
    compile('io.dapr:dapr-sdk-actors:1.16.0')
    // Dapr's SDK integration with SpringBoot (optional).
    compile('io.dapr:dapr-sdk-springboot:1.16.0')
}

如果你还使用了 Spring Boot,可能会遇到一个常见问题:Dapr SDK 使用的 OkHttp 版本与 Spring Boot 的 Bill of Materials 中指定的版本冲突。

你可以通过在项目中指定与 Dapr SDK 使用的版本兼容的 OkHttp 版本来解决此问题:

<dependency>
  <groupId>com.squareup.okhttp3</groupId>
  <artifactId>okhttp</artifactId>
  <version>1.16.0</version>
</dependency>

试用

测试 Dapr Java SDK。通过 Java 快速入门和教程来查看 Dapr 的实际效果:

SDK 示例描述
快速入门在几分钟内使用 Java SDK 体验 Dapr 的 API 构建块。
SDK 示例克隆 SDK 仓库以尝试一些示例并开始使用。
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();
}

可用软件包

客户端

创建与 Dapr 边车和其他 Dapr 应用程序交互的 Java 客户端。

工作流

在 Java 中创建和管理与其他 Dapr API 协同工作的 workflow。