-
How to use Redis 5.0.14 in embedded-redisJAVA/tips 2021. 11. 25. 11:01반응형
embedded-redis
프로젝트를 진행하다가 테스트용으로 embedded-reids를 적용해보면 어떨까 하고 찾아보다가
이동욱님의 블로그를 보게되었고,
요기 저장소의 embedded-redis를 적용하게 되었다.문제
요기의 레디스 버전이 2.18.19를 사용중이라
내 프로젝트의 레디스 스트림 기능을 사용하면 아몰랑 하면서 에러를 뱉어냈다.해결
요기 저장소에서 코드를 보니
resource
에 각 OS별로 레디스 서버 실행파일들이 있었다.
그래서 요기 저장소를 포크받아서
코드를 수정하고
바이너리를 바꾸고...
jitpack을 통해 패키지를 불러오고...바보였다.
README.md에 너무 친절하게
레디스 바이너리를 오버라이딩 하는 방법이 나와있었다...예제 코드를 요런 식으로 하면 잘 돌아간다.
@Override public void afterPropertiesSet() throws IOException { String redisPath = new ClassPathResource("redis-server-5.0.14").getPath(); RedisExecProvider customProvider = RedisExecProvider.defaultProvider() .override(OS.MAC_OS_X, Architecture.x86, redisPath) .override(OS.MAC_OS_X, Architecture.x86_64, redisPath); int port = isRedisRunning() ? findAvailablePort() : redisPort; redisServer = new RedisServer(customProvider, port); redisServer.start(); }
참고로
redis-server-5.0.14
는resource
디렉토리 안에 있다.반응형'JAVA > tips' 카테고리의 다른 글
abbreviate (줄여쓰기)를 정규표현식으로 구현해보기 (0) 2022.05.03 CGLIB Proxy 와 Mockito 콜라보레이션 (feat. Not a Mock) (0) 2020.07.10 RCP에서 AbstractUIPlugin 구현 클래스 자동으로 activate 설정 (0) 2017.10.18 How to logging in plugin development (0) 2016.05.12