다음을 통해 공유


.NET .NET Aspire Java/Spring 호스팅 통합

포함:호스팅 통합 포함 호스팅 통합만 포함 - Client 통합이 포함되지 않음Client 통합이 포함되지 않음

메모

이 통합은 .NET.NET Aspire 커뮤니티 도구 키트 일부이며 지원하지 않습니다.

이 문서에서는 .NET.NET Aspire Java/Spring 호스팅 통합을 사용하여 Java 런타임 또는 컨테이너를 사용하여 Java/Spring 애플리케이션을 호스트하는 방법을 알아봅니다.

필수 구성 요소

이 통합을 위해서는 Java용 OpenTelemetry 에이전트 다운로드하여 프로젝트의 루트에 있는 agents 디렉터리에 배치해야 합니다. 기본 설정 셸에 따라 다음 명령 중 하나를 사용하여 에이전트를 다운로드합니다.

# 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 truststore에 인증서를 추가하려면 다음 단계를 사용할 수 있습니다.

  1. 대시보드 인증서 내보내기 .NET.NET Aspire (설정에 따라 다름)
  2. 다음 명령어로 Java truststore에 keytool를 가져옵니다.
keytool -import -trustcacerts -alias aspire-dashboard \
    -file aspire-dashboard.crt \
    -keystore $JAVA_HOME/lib/security/cacerts \
    -storepass changeit

메모

인증서를 가져오고 가져오는 정확한 단계는 개발 환경 및 .NET.NET Aspire 구성에 따라 달라질 수 있습니다.

시작

Java/Spring 호스팅 통합을 .NET.NET Aspire 시작하려면 CommunityToolkit를📦Aspire 설치합니다. AppHost 프로젝트의 Hosting.Java NuGet 패키지입니다.

dotnet add package CommunityToolkit.Aspire.Hosting.Java

자세한 내용은 dotnet add package 또는 .NET 애플리케이션에서 패키지 종속성을 관리하기를 참조하십시오.

예제 사용

다음 섹션에서는 컨테이너화된 Spring 앱 호스팅부터 실행 가능한 Spring 앱 호스팅에 이르기까지 다양한 사용 시나리오 예제를 자세히 설명합니다.

Program.cs 앱 호스트 프로젝트의 파일에서 메서드를 AddSpringApp 호출하여 컨테이너화된 Spring 앱을 정의합니다. 컨테이너 JavaAppContainerResourceOptions 이미지 및 OpenTelemetry 에이전트 구성을 지정할 수 있습니다.

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

Spring ContainerImageName Boot 애플리케이션의 컨테이너 이미지를 가리키고 OtelAgentPath Java 에이전트가 있는 컨테이너 내의 OpenTelemetry 경로를 지정해야 합니다.

참고