상황플랫폼 A의 k8s에서 플랫폼 B의 k8s로 옮기는 작업 도중에 발생함.Pod A에서는 컨테이너 A1, A2가 존재함.컨테이너 A1 : 메인 컨테이너. CLI Management를 위한 컨테이너다. 그리고 파이썬 Daemon Process가 하나 가동중이다.컨테이너 A2 : 인증정보를 업데이트 하기 위한 Sidecar문제$ k get podNAME READY STATUS RESTARTS AGEmy-pod 1/2 OOMKilled 0 44s# 플랫폼 B의 k8s$ kubectl tops pod --containers | grep my-podmy-pod ..
@Configuration @RequiredArgsConstructor public class SimpleTestConfig { private final JobBuilderFactory jobBuilderFactory; private final StepBuilderFactory stepBuilderFactory; private final EntityManagerFactory emf; private final DataSource dataSource; private AtomicLong myId = new AtomicLong(); @Bean public Job batchJob200() { return jobBuilderFactory.get("partitioningJob") .incrementer(new Run..
JDBC 계열 Reader로 조회를 했을 때, 다른 값은 다 제대로 달라붙는데 ID만 제대로 달라붙지 않는 경우를 드디어 해결했다. @Builder @Entity @Data @NoArgsConstructor @AllArgsConstructor public class Customer { @Id @GeneratedValue @Column(name = "customer_id") private Long id; private String firstName; private String lastName; private LocalDate birthDate; } JPA를 위해서 다음과 같이 셋팅을 했다고 가정해보자. 이 때, DB의 Column 명은 customer_id인데, 객체의 필드는 id다. 그런데 이 때 Jdb..
상황1 DTO로 JPA에서 값을 조회한 것을 BODY에 바로 응답으로 내려주려고 할 때 "No serializer found for class 블라블라"에러가 발생했다. DTO 객체 값을 JSON으로 변경해주는 것이 안되는 상황으로 먼저 이해를 하면 된다. 해결1 DTO에 값은 생성자를 통해 제대로 셋팅이 되어있었다. 문제는 DTO에서 JACKSON 라이브러리를 통해 변경되는 시점이었다. DTO의 GETTER가 하나도 만들어지지 않은 상황이라 JSON이 객체를 적절히 맵핑해서 넘겨줄 수 없어서 에러가 발생했었다. 이 때의 해결책은 DTO 클래스 위에 @GETTER or @DATA를 두면서 해결되었다.
정상적으로 값을 넣어주었는데 @RequestBody 바인딩이 안될 때가 있다. 이 때 바인딩 될 파라메터의 기본 생성자가 있는지 확인해야한다. 기본 생성자가 없으면 @RequestBody를 통해 값이 바인딩 되지 않는다.