250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Exception
- 설정
- Tomcat
- Thymeleaf
- PostgreSQL
- IntelliJ
- oracle
- jpa
- 문서
- 오픈소스
- Spring Boot
- AJAX
- JDBC
- MSSQL
- Docker
- spring
- Eclipse
- ubuntu
- error
- Open Source
- maven
- SpringBoot
- Python
- Core Java
- git
- Source
- STS
- myBatis
- MySQL
- JavaScript
Archives
- Today
- Total
헤르메스 LIFE
[Spring Cloud Netflix] Eureka Client 샘플 본문
728x90
https://github.com/hermeswing/EurekaClient
개발환경
JDK : Zulu JDK 17.0.10
SpringBoot 3.2.3
SpringBoot Eureka Client ( 현재 최신 버전 :4.1.0 )
Build Tools : Gradle
1. 프로젝트 생성
2. Eureka Client
- 아래의 소스가 전부 입니다. ( 의외로 엄청 간단합니다. )
build.gradle
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.3'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'octopus'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '17'
}
repositories {
mavenCentral()
}
ext {
set('springCloudVersion', "2023.0.0") // 스프링 클라우드 버전
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
tasks.named('test') {
useJUnitPlatform()
}
EurekaClientApplication.java
package octopus;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
// @EnableEurekaClient // Spring Cloud Version 2022.0 이상의 경우 사용할 수 없음.
public class EurekaClientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaClientApplication.class, args);
}
}
application.yml
spring:
application:
name: EurekaClient
server:
port: 9191
eureka:
client:
fetch-registry: true
register-with-eureka: true
service-url:
defaultZone: http://localhost:8761/eureka/ #Eureka Server 경로
instance:
hostname: localhost
3. 실행 ( http://localhost:8761 )
Eureka Server에 접속된 Client의 목록 보여집니다.
30초에 한 번씩 Heatbeat를 체크할 것입니다. ( Default )
4. Gradle Jar 빌드
- /build/libs 폴더에 Jar 파일이 생성됩니다.
IntelliJ 에서의 빌드 ( Tasks > build > bootJar )
Linux 에서의 빌드
$ source ./gradlew bootJar
$ . ./gradlew bootJar
5. jar 실행
-D 옵션을 사용해서 여러개의 Client를 띄울 수 있습니다.
# java -jar -Dserver.port=9001 [jar 파일경로]/[jar파일]
$ java -jar -Dserver.port=9001 ./build/libs/EurekaClient-0.0.1-SNAPSHOT.jar
# Java version 오류
$ java -jar EurekaClient-0.0.1-SNAPSHOT.jar
Error: LinkageError occurred while loading main class org.springframework.boot.loader.launch.JarLauncher
java.lang.UnsupportedClassVersionError: org/springframework/boot/loader/launch/JarLauncher has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
https://hermeslog.tistory.com/742
https://hermeslog.tistory.com/755
https://github.com/Jimoou/springboot-microservices?tab=readme-ov-file
728x90
'Spring Boot Framework' 카테고리의 다른 글
[Spring Boot] Mybatis 쿼리 Interceptor 처리 테스트 (0) | 2024.05.23 |
---|---|
[Spring Cloud Netflix] Eureka Gateway 샘플 (0) | 2024.03.28 |
[Spring Cloud Netflix] Eureka Server 샘플 (2) | 2024.03.10 |
[P6Spy] p6spy 설정 시 두 번 찍히는 경우 (0) | 2024.02.01 |
[SpringBoot] JPA 개발 시 p6spy를 이용해서 쿼리 로그 남기기 (0) | 2024.02.01 |