일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- nodejs
- springboot
- Spring
- Vue3
- style
- sveltekit
- post
- Java
- fastapi
- Python
- Test
- vitejs
- Shell
- NextJS
- fetch
- Logging
- gradle
- EUREKA
- npm
- JUnit
- ubuntu
- loguru
- NextJS13
- react
- Vue
- InteliJ
- vuex
- d3js
- 오라클
- svelte
- Today
- Total
목록springboot (7)
양군의 행복한 이야기
개발 중 application.properties파일은 resource디렉토리 하위에 위치한다. 이건 구동시에 classpath에 포함되어 자동으로 로드 된다. 이 설정 파일은 빌드시에 자동으로 jar안에 포함되어 설정파일이 없어도 기본으로 읽어 들여서 사용된다. 자동으로 설정파일이 바이너리에 포함되는건 편리할 수도 있다. 그러나 설정 파일 하나 변경하는데 빌드를 다시하는것도 웃긴 상황이다. 그리하여 구동시 jvm옵션으로 외부에서 설정파일을 입력할수 있다. java.exe -jar app.jar --spring.config.location=file:./application.properties 요렇게 하면 된다.

설정 정보가 변경되었을 시 갱신하는 방법은 크게 3가지가 있다. 1. 재구동 2. @RereshScope사용 3. EventBus사용 1번을 하면 ConfigServer를 사용하는 이유가 없으니.. 제외 3번은 Git도 써야 하고 MQ도 써야 하고 여러 가지 설정이 필요 함으로 제외..... ㅡ..ㅡ 그래서 2번을 설정 하기로 한다. 일단 build.gradle에 의존성을 추가한다. implementation 'org.springframework.boot:spring-boot-starter-actuator' application.yml에 설정 정보 추가 management: endpoints: web: exposure: include: "refresh" server: stat: READY

MSA서비스 구현중 GW하단에서 다른 서비스에 접속 정보를 가져와야 하는경우가 있다. 이경우 IP와 PORT를 설정 파일에 넣는 방법도 있으나 이렇게 하면 MSA를 구축한 이유가 없다. 그래서 유레카에 등록된 다른 서비스의 IP/PORT의 정보를 가져오는 방법을 설명한다. 일단 유레카와 연동이 되어 있다는 가정하에 private final LoadBalancerClinet loadBalancer; public String checkServiceIp() { ServiceInstance serviceIns = loadBalancer.choose("SERVICE_ID"); // --> 유레카에 등록된 접속을 원하는 서비스 ID log.info("service url={}", serviceIns.getUri()..

MSA의 강점은 서비스를 잘게 잘게 잘라서 업데이트를 잘게 잘게 하는 장점이 있다.. 그러나 문제는 구동중인 서비스를 업데이트 하기 위하여 셧다운을 하면 SGW는(스프링게이트웨이) 종료한 서비스가 아직 살아 있는줄 알고 계속 트렌젝션을 시도 한다. 설정에 따라 다르겠지만 기본으론 유레카가 90초를 기다린다. 그 90초 동안은 계속 접속을 시도 한다. 이걸 우아하게 하기 위하여 이글을 작성한다. 일단 actuator를 추가 한다. build.gradle dependencies{ implementation 'org.springframework.boot:spring-boot-starter-actuator' } application.yml server: shutdown: graceful management: e..
폐쇄망에서 junit 테스트를 진행시 위의 오류가 나온다.. 그놈의 폐쇄망이 문제이다. ㅡㅡ;; gradle 경우 implementation 'org.junit.platform:junit-platform-launcher:1.6.0' 추가 하면 된다. 버전은 알맞은걸 잘 찾아서 ...

https://www.h2database.com/html/main.html 접속 Download 클릭 Platform-Independent Zip 다운 원하는 위치에 압축을 푼다. bin/h2.bat 실행 저장한 설정은 Generic H2(Server)로 변경 - 변경하면 URL이 jdbc:h2:tcp://localhost/~/test 로 변경된다. Embedded는 DB를 종료시 데이터 및 테이블이 저장이 안 된다. 연결 클릭 application.properties spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa ..