일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring boot redis
- redis
- Airflow
- MySQL
- Redis Sentinel
- docker-compose
- Spring Open Feign
- QueryDSL
- docker compose mysql
- KAFKA
- JPA
- docker
- jmeter
- coalesce
- spring boot
- WebLogic
- argo cd
- Selenium
- spring cloud
- netflix oss
- vue.js
- Hibernate
- Docker Compose
- RabbitMQ
- ChannelPipeline
- cassandra
- Netty
- mybatis
- grafana
- weblogic 10
- Today
- Total
목록전체 글 (411)
IT.FARMER
롬복을(lombok) 사용하면 참 편하다. 하지만 주의해야할 사항도 있다. @ToString 이용시 Object안에 순환참조가 걸릴경우 정상적으로 이용하지 못하는 경우가 생긴다. 이를 해결하기 위해서는 @ToString 이용시 연관관계에 있는 객체들의 순환참조를 끊어 주어야 한다. 특히나 Entity 를 RestAPI 에서 응답 모델로 사용할 경우에는 해당 문제가 더욱 두드러 진다. this is example @ToString(exclude = {"campaignEntity", "adsEntities"}, callSuper = true) exclude 속성을 이용하여, 순환참조가 걸리는 Object를 등록하여 사용한다.
gradle 이나 maven, nexus를 이용하며, library를 관리 하게 되면, 라이브러리를 release 하기 전에 snspshot 파일로 사용한다. 이때 snapshot 파일이 최신파일로 적용이 잘 안될때가 있다. 이때 다음과 같은 옵션으로 사용하면 항상 최신 파일을 읽어 오도록 설정된다. gradle // changing 값을 true 로 지정한다. compile("media.report.library:media-report-library-model:${model_version}") { changing = true } maven build > build tool > maven > alwas update snapshots > check
SpringBoot daemon application 만들기 Spring 을 사용하면서 데몬형태로 운영하기 위해서는 web module을 제거해주고 Start 해준다. 혹은 제거 하지 않고도 프로퍼티에서 설정을 변경 하여 데몬 형태로 만들 수 있다. web-application-type 타입을 none로 변경하여 데몬 형태로 만든다. (내장 웹서버를 사용하지 않음) spring: devtools: restart: enabled: false main: **web-application-type: none** 어째뜬 web-application-type 을 변경 하거나, web 모듈을 제거 하고, 계속 데몬이 유지되게 하려면 Thread 를 하나 생성해서 프로세스를 살려둔다. (혹은 rabbitMQ, kafk..
Spring Muiltiple DataSource 처음에 멀티데이터 소스를 사용할땐 DB 한곳을 바라보고 여러가지 프레임웍 즉 JPA , Mybatis 를 이요하기 위해 사용 했는데. 생각해보면 하나더 있었다. DB 여러(n)대를 하나의 Module 에서 바라보게 되는 것이다. 기본적으로 Spring 은 perperties 에 하나의 data source 를 연결하기 위해 지원하기 때문에 여러개의 datasource를 사용하기 위해서는 사용자가 직접 정의하는 방법을 택해야 한다. 멀티 데이터소스를 설정하다보면 다음과 같은 오류에 만날때가 많다. 기본적으로 어떤 오류인지 알고가자 Caused by: java.lang.IllegalArgumentException: Not a managed type: clas..
Spring R2DBC CRUD 예제 WebFlux 를 사용한다면, 반쪽짜리 NonBlocking 서버가 되지 않기 위해선 persisent layer 의 영역도 reactive 하게 변경해주어야 한다. 다행이 spring-r2dbc-data 와 mysql 드라이버를 지원함으로 spring r2dbc 기반 Repository를 구현 및 테스트 할수 있다. pom.xml 에 다음 라이브러리를 넣어 준다. spring-boot-starter-data-r2dbc org.springframework.boot dev.miku r2dbc-mysql runtime 데이상 dev.miku 는 동작하지 않는다, 메인터런스를 포기하고 com.github.jasync-sql로 옮겼다. mysql 의 r2dbc library..
여러개의 java 버전 사용 및 관리 alias 여러개의 JDK (JAVA_HOME)사용시 alternatives --config java 외에 심볼릭 링크를 이용한 간단한 JAVA_HOME 관리 방법 alternatives 를 이용하게 되면 $JAVA_HOME path 설정이 먹통이된다. 이유는 which java 찾아 보면 알게되는데 이쪽에서 먼저 java 가 alternatives 로 심볼릭이 잡혀있고 이쪽 먼저 PATH가 적용된다. 1. 디렉토리 생성 및 심볼릭 링크 생성 java 가설치된 디렉토리를 확인한다. 보통 /usr/lib/jvm 하위에 설치된다. 먼저 디렉토리를 생성고 심볼릭 링크를 생성한다. mkdir /server/jdk/ ln -s /usr/lib/jvm/java-1.8.0-ope..
alternatives 여러개의 java version 관리 centos alternatives 를 이용한 java version 관리가 가능하다. yum install을 통해 설치된 java 는 자동으로 alternative에 등록이 되고 명령어를 통해 삭제 /등록/버전 변경이 쉽게 이루어 진다. 버전 변경 명령어를 입력한뒤 selection 번호를 입력 한다. 이후 버전 을 확인해보변 변경된 내역이 확인된다. sudo alternatives --config java There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- 1 java-11-openjd..
Linux Source 종류 /etc/profile : 시스템 전역 쉘 변수 user가 쉘에 로그인 하게 되면 가장 먼저 /etc/profile파일을 읽는다. /etc/profile 파일에는 USER, LOGNAME, HOSTNAME 등의 쉘 변수들이 선언되어 있다. /etc/profile 파일을 통해 이러한 시스템 전영 쉘 변수들을 초기화한다. 그 다음으로 전역 리드라인 초기화 파일인 /etc/inputrc 파일을 읽고, 기타 특수 프로그램들의 전역 환경 설정 파일을 포함하고 있는 /etc/profile.d 디렉터리를 읽는다. /etc/bashrc : 쉘 함수, Alias 시스템 전역 변수 정의 /etc/profile 에서는 쉘 환경과 프로그램 시작 설정을 지정할 수 있는 것처럼 /etc/bashrc ..
mybatis Cause: java.lang.IllegalArgumentException: argument type mismatch” Mybatis 에서 데이터 조회시 다음과 같은 오류가 날때는 Mybatis 특성에 대해 알고 있어야 대응이 가능 하다. Caused by: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.cjenm.report.library.domain.entity.JobEntity with invalid types (Job) or values (16). Cause: java.lang..