.NET .NET Aspire Java/Spring 托管集成

包括:托管集成已包括仅限于—Client集成不包括Client集成不包括

注意

此集成是 .NET.NET Aspire 社区工具包 的一部分, 不受 .NET.NET Aspire 团队正式支持。

本文介绍如何使用 .NET.NET Aspire Java/Spring 托管集成通过 Java 运行时或容器托管 Java/Spring 应用程序。

先决条件

此集成要求下载 OpenTelemetry Agent for Java 并将其放置在项目的根目录中的 agents 目录中。 根据首选 shell,使用以下命令之一下载代理:

# bash/zsh
mkdir -p ./agents
wget -P ./agents \
    https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar

Linux 和 macOS 证书信任

在 Linux 和 macOS 平台上,您可能需要将 .NET AspireOpenTelemetry 证书导入到 Java 证书存储,以便遥测功能正常工作。 如果没有此步骤,Java 应用程序将成功启动,但遥测收集可能会失败并出现证书错误。

若要将证书添加到 Java 信任存储,可以使用以下步骤:

  1. .NET .NET Aspire导出仪表板证书(这因设置而异)
  2. 使用 keytool 以下命令将其导入 Java 信任存储:
keytool -import -trustcacerts -alias aspire-dashboard \
    -file aspire-dashboard.crt \
    -keystore $JAVA_HOME/lib/security/cacerts \
    -storepass changeit

注意

获取和导入证书的具体步骤可能因开发环境和 .NET.NET Aspire 配置而异。

开始

若要开始使用 .NET.NET Aspire Java/Spring 托管与集成,请在 AppHost 项目中安装 📦 CommunityToolkit.Aspire.Hosting.Java NuGet 包。

dotnet add package CommunityToolkit.Aspire.Hosting.Java

有关详细信息,请参阅 dotnet add package在 .NET 应用程序中管理包依赖项

示例用法

以下部分详细介绍了从托管容器化 Spring 应用到托管可执行 Spring 应用的各种示例使用方案。

Program.cs AppHost 项目的文件中,调用 AddSpringApp 该方法以定义容器化 Spring 应用。 这 JavaAppContainerResourceOptions 允许你指定容器映像和 OpenTelemetry 代理配置。

var containerapp = builder.AddSpringApp(
    "containerapp",
    new JavaAppContainerResourceOptions
    {
        ContainerImageName = "your-registry/your-spring-app:latest",
        OtelAgentPath = "./agents"
    });

ContainerImageName 指向 Spring Boot 应用程序的容器映像,并 OtelAgentPath 指定 Java 代理所在的容器 OpenTelemetry 中的路径。

另请参阅