일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- @FunctionalInterface
- b3-propagation
- Spring Boot
- list
- DeferredImportSelector
- jpa
- CompletableFuture
- spring
- java lambda
- kotlin
- asyncconfigurer
- aws secretmanager
- ResponseBody
- SpringMVC
- Sleuth
- map
- traceId
- HashMap
- java.util.list
- elasticsearch
- spring3 spring2 traceid
- asynccustomautoconfiguration
- spring MVC
- awssecretsmanagerpropertysources
- traceasynccustomautoconfiguration
- java
- java list
- micrometer tracing
- EnableWebMvc
- Spring JPA
- Today
- Total
목록스프링 (31)
du.study기록공간
Spring Cloud Sleuth를 적용하는 과정에 확인한 간단한 에러를 기록해보고자 합니다. (나중에 또 기억 못할까봐) 기존 코드에는 비동기관련 Configuration이 있었고, AsyncConfigurer를 implements한 AsyncConfigurer 를 상속해놓은 Configuration이 있었습니다. 해당 코드에서는 기본 구현체 외에도 별도로 쓰레드풀을 선언한 상태였습니다.@Configuration@EnableAsyncpublic class AsyncConfiguration extends AsyncConfigurerSupport { @Override public Executor getAsyncExecutor() { ThreadPoolTaskExecutor exec..
언젠가 또 써먹을일이 있지않을까 싶어서 한번 AWS Secretmanager 적용방법을 정리해봅니다.직접 자바코드로 연동할수도있지만, property에 적용하는 방법으로 Spring Cloud 이용하는 방법을 정리하려합니다. 해당페이지를보면 spring 2.4 부터 지원되나 싶지만, 실제로는 이하 버전도 지원은 되는 상태입니다. 각 버전대로 적용방식을 기록해보겠습니다.(아마도 https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.4-Release-Notes 릴리즈노트에 나와있는대로spring.config.import 로 직접 설정을 가져올수 있게되면서 2.4이상의 가이드만 노출해놓은것같은 심증이..)github : https://github..
기존에는 Spring 2.x버전만 사용하고 있었기에 전부 Spring Cloud Sleuth 를 사용했고 이를 이용하면 별 문제없이 traceId가 로그에 노출됐습니다. 이번에 신규 프로젝트가 Spring 3.x를 사용했고, 3.x버전에서 2.x의 rpc를 호출하는 과정에 traceId 가 제대로 이어지지않아서 왜 그런지를 정리하고자 합니다. Spring 2.x버전의 경우 Spring Cloud Sleuth를 사용하고있고 b3-propagation format을 사용하고있습니다. Spring 3.x버전의 경우 Micrometer Tracing을 사용하며 dependency는 아래와 같습니다.그리고 이번 버전과는 다르게 w3c trace context format을 사용합니다. // trace ..
이 글은 driverClassName을 'com.mysql.jdbc.Driver'에서 'software.aws.rds.jdbc.mysql.Driver'로 바꾸는 과정에 발생된 이슈를 작성하고자 합니다. 우선 이슈가 발생된 과정을 정리해보면 다음과 같습니다. 1. driverClassName 변경 'com.mysql.jdbc.Driver' -> 'software.aws.rds.jdbc.mysql.Driver' 2. DATETIME 필드를 mybatis를 통해서 String으로 리턴하는 상태. 3. 로직상에서 String으로 받은 값을 아래 코드를 통해서 변환 DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"); Lo..
오늘은 간단한 내용을 작성해보려 합니다. Spring 에서 로그 추적을 위해 traceId를 남기고자 sleuth를 사용하고 있습니다. 운영과정에서 일부 비동기 로직에서 traceId가 남지않는것을 확인하였고, 이 부분에 대해 확인한것을 기록하고자 합니다. 사실 해결법은 매우 간단하지만(검색하면 바로) 왜 동작하는지는 알고 바꾸고자 한번 작성하게되었습니다. 먼저 bean으로 생성하는경우를 확인하고자 합니니다. @Bean(name = "예시니까 세팅은 전부 1") public Executor threadPoolTaskExecutor() { ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); taskExecutor.setCorePoolSi..
간단한 통계 서비스를 구축하는 과정에서 맞이한 문제점을 정리해봅니다. 사용한 Spring version : 2.5.10 spring yaml 설정 spring: datasource: url: jdbc:h2:~/test_leisure_product;MODE=MySQL;DB_CLOSE_ON_EXIT=FALSE .... type: com.zaxxer.hikari.HikariDataSource jpa: show-sql: true properties: hibernate: format_sql: true globally_quoted_identifiers: true dialect: org.hibernate.dialect.MySQL5InnoDBDialect .... 시작은 H2 SQLGrammarException: co..
해당 블로그에도 나와있는 이슈 https://newbedev.com/why-does-jackson-2-not-recognize-the-first-capital-letter-if-the-leading-camel-case-word-is-only-a-single-letter-long Programming tutorials | Newbedev Checkout new tutorials and guides for programming languages Javascript, Python, Java, Golang, C++, PHP newbedev.com 최근 개발을 하던 도중 조금 특이한 경우를 만났습니다. 간단한 예제코드 import org.springframework.web.bind.annotation.GetMap..
이번엔 request dto에 enum타입을 받아올 때, Jackson에서 제공하는 기본 EnumDeserializer 외에 내가 지정한 setter를 사용하는 방법에 대해 기록해보려 합니다. (게시글에서 만큼은 네이밍의 고통을 받고싶지않아 조금 날림입니다.) 간단한 테스트 코드를 구성해봅니다. @RestController public class TestController { @PostMapping("/hello") public String matchEnumTest(@RequestBody RequestDto requestDto){ return "hello world"; } } @Getter public class RequestDto { private TestEnum testEnum; } public en..
이번엔 스프링으로 grpc를 사용하는 과정에서 armeria를 사용하는법에 대해 기록하려합니다. github.com/line/armeria line/armeria Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, ... github.com 우선 armeria 이전에 grpc-gateway를 먼저 간략하게 기록해보려합니다. github.com/grpc-ecosystem/grpc-gateway grpc-ecosy..
저번포스팅에서 SpringBoot의 AutoConfiguration 동작에 대해서 기록한 적이 있습니다. duooo-story.tistory.com/52 Spring boot Auto Configuration 동작방식 이전에도 간략하게나마 Spring boot의 동작 원리를 작성한 적이 있습니다. 이번에는 그 과정을 좀 더 자세하게 기록해 보고자 합니다. 결론부터 말하면 스프링 부트는 두가지 방법으로 bean 등록을 duooo-story.tistory.com 이번에는 이 동작을 이용해서 직접 해당 코드를 작성해보려합니다. 우선 ComponentScan을 제외한 빈 등록 방식을 사용하기 위해서는 다음과 같은 조건을 충족 클레스가 필요합니다. - import를 통해 불러와지며 ( @Component를 가지고..