일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sveltekit
- fetch
- springboot
- InteliJ
- Shell
- npm
- Java
- style
- vitejs
- JUnit
- gradle
- svelte
- loguru
- post
- NextJS
- vuex
- 오라클
- ubuntu
- EUREKA
- react
- Logging
- Test
- fastapi
- Spring
- NextJS13
- Vue3
- Python
- d3js
- Vue
- nodejs
- Today
- Total
목록Spring (13)
양군의 행복한 이야기

설정 정보가 변경되었을 시 갱신하는 방법은 크게 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 을 사용하여 REST API 테스트 GET RequestBuilder requestBuilder = MockMvcRequestBuilders.get("/ableTrade") .contentType(MediaType.APPLICATION_JSON) .header("X-USER-ID", "header_user_id") .accept(MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN) .characterEncoding(StandardCharsets.UTF_8.displayName()); MockHttpServletResponse mockHttpServletResponse = mockMvc.perform(requestBuilder) .andExpect(MockMv..