포함: 호스팅 통합만 포함 -
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에 인증서를 추가하려면 다음 단계를 사용할 수 있습니다.
- 대시보드 인증서 내보내기 .NET.NET Aspire (설정에 따라 다름)
- 다음 명령어로 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 또는 .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 경로를 지정해야 합니다.
참고
- Java 개발자 리소스
- .NET Aspire 커뮤니티 도구 키트 GitHub 리포지토리
.NET Aspire