包括:仅限于—
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 信任存储,可以使用以下步骤:
- .NET .NET Aspire导出仪表板证书(这因设置而异)
- 使用
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 中的路径。