우리 팀에서는 사용자의 조작에 따라 카프카의 특정 토픽을 구독하거나 구독 취소하는 기능을 구현하고 있다. 이 과정에서 topicList라는 리스트를 통해 구독할 토픽을 관리하고, 해당 리스트의 사이즈를 체크하여 구독할 대상이 있는 경우에만 로직을 실행하도록 개발했다. 그런데 topicList에 데이터가 하나도 없을 때 무한루프에 빠져 새로운 토픽이 추가되어도 무한루프를 빠져나오지 못하는 현상이 발생했다.문제의 원인아래는 대략적인 코드이다. 코드를 살펴보면, topicList의 사이즈가 0일 때 while문 안에서 continue가 호출되어 무한루프에 빠지는 것을 알 수 있다. 사실 이 코드는 애초에 잘못 짜여진 코드이다. 토픽이 없는 경우에도 무한루프에 빠지가 코드를 짜면 안된다. 하지만 그렇다고 하더라..
캘린더 관련 작업을 하면서 특정날짜가 공휴일인지 확인해야했다. 그래서 검색하다 이 블로그 를 발견했는데 날짜와 시간 처리를 Date, Calendar 클래스를 이용해서 하고있었다. Date, Calendar클래스의 문제점이 많아 진행중인 프로젝트에서는 LocalDate를 이용하고 있었다.(Date, Calnedar의 문제점) 그래서 위의 블로그를 참고해 LocalDate를 이용하도록 변경하고, 우리 프로젝트에 맞게 커스터마이징 했다. 1. 음력변환 라이브러리 추가 설, 추석과 같은 음력 공휴일을 처리하기 위해 음력변환 라이브러리를 추가해준다. com.ibm.icu icu4j 4.0.1 2. 공휴일 처리 클래스 holidayArray가 특정 년도를 넣어주면 그 해의 공휴일을 리턴해주는데 return typ..
PART 1 JDBC(Java Database Connectivity) DB에 접근할 수 있도록 JAVA에서 제공하는 API DB연결부터 쿼리 실행 트렌젝션 관리까지 모두 지원하는 라이브러리 PART 2 Mybatis JDBC에 종속된 라이브러리 JDBC를 보다 편하게 사용하기 위해 개발 1# MyBatis 특징SQL문이 코드로부터 완전히 분리 : 기존에는 DAO파일에 모든 SQL문을 작성했다. 하지만 MyBatis에서는 Mapper 파일에 SQL코드를 입력해 놓고 DAO파일에서 필요할 때마다 가져와서 사용할 수 있다.생산성 : 코드가 짧아진다.유지보수성 향상 : Mapper파일에만 SQL코드를 입력하고 나중에 SQL코드를 변경할 때 이곳에서 유지보수만 하면, DAO에서는 아무런 영향을 받지 않는다. 2..
- Total
- Today
- Yesterday
- 스레드 동기화
- AWS
- 티스토리챌린지
- 제우스 로그
- 쓰레드 변수
- 보관주기
- volatile
- jeus8.5
- multiple datasource
- 제우스8
- 카프카
- kafka with raft
- 넥서스 파일 보관주기
- 네트워크
- 다중 데이터소스
- jeus8
- 오블완
- db 두개
- docker
- 넥서스 보관주기
- php
- 도커
- cleanup policy
- 제우스8.5
- API Gateway
- kafka without zookeeper
- s3
- SynchronousQueue
- cleanup policies
- 주키퍼 없는 카프카
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |