프로그래밍

[업무기록] 20230623 관련 잡다 (Tomcat, MariaDB)

가시가되어 2023. 6. 23. 16:01

MariaDB 키 중복 시 INSERT

: Insert 시 Key 값이 중복이 되면 Duplicate Error 발생된다.

: 이를 조치해야 함.

: 아래 3가지를 이용할 수 있으며, 날짜나 변경되는 필드가 생길 수 있을 땐 

   ON DUPLICATE KEY UPDATE 를 이용해서 변경되는 필드들을 추가해주자

# INSERT INTO () VALUES 구문 뒤에 삽입
ON DUPLICATE KEY UPDATE

# INSERT 문 옆에 IGNORE를 넣어서 무시
INSERT IGNORE

# INSERT 대신 REPLACE 를 사용하게 되면 키가 중복되면 해당 건을 날리고 
# 기존 레코드 삭제 후 새로운 레코드를 삽입 (ID Auto_Increment 인 경우, 변경됨)
 REPLACE INTO

 


[error] Could not set parameters for mapping 부적합한 열 유형:1111

 

Mybatis 사용 시 에러를 마주쳤다.

넘겨주는 인자 Type이 문제가 있던 걸로 확인되는 데 사유는 대부분 오타 혹은 데이터 타입이 불일치할 경우 생긴다.

 

https://velog.io/@ka0ka0ka/errorCould-not-set-parameters-for-mapping-%EB%B6%80%EC%A0%81%ED%95%A9%ED%95%9C-%EC%97%B4-%EC%9C%A0%ED%98%951111-%EC%97%90%EB%9F%AC

 

[error] Could not set parameters for mapping 부적합한 열 유형:1111 에러 해결하기

org.apache.ibatis.exceptions.PersistenceException: Error updating database. Cause: org.apache.ibatis.type.TypeException: Could not set parameters for

velog.io


HttpClient Close 관련해서 기본적으로 헤더 Keep-Alive 설정에 따라 끊기고 하는 게 다른 듯 하다.

 

https://okky.kr/questions/460647

 

OKKY - HttpClient를 사용후에 close 하고 싶은데 그에 사응하는 메소드가 없다고합니다.

통신후 마지막에 HttpClient test = new DefaultHttpClient();라고해서 사용후 test를 통신후 마지막에 close 해주고싶습니다.근데 close메소드를 지원하지 않아서 사용을 할 수 없습니다. 개발툴은 안드로이

okky.kr

 

ClosableHttpClient 로 변경 시, close 기능을 쓸 수 있다.


Tomcat PermGen-space 에서 OOM 

 

Aws E2C 서버 최소로 사용해서, 그런지 PermGen Space 용량으로 인해 OOM 으로 서버가 다운되어버린다.

아래 해결법으로는 JAVA 8 이상 사용 혹은 Tomcat 의 메모리 증설인데 AWS 최소로 쓰다보니 증설이 필요하거나, 현재 쓰고 있는 API나 기능들에서 메모리를 계속 잡고 있는 게 확인하려고 했고 그게 위의 HttpClient Close 내용이었다.

 

https://khj93.tistory.com/entry/Tomcat-%ED%86%B0%EC%BA%A3-PermGen-space%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EA%B3%A0-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95%EC%9D%80

 

[Tomcat] 톰캣 PermGen space Error란 무엇이고 해결방법은?

PermGen space Error란 Tomcat 환경에서 발생하는 PermGen Error는 Tomcat에서 가용할 수 있는 최대 메모리보다 어플리케이션을 구동하는데 필요한 메모리가 더커서 발생하는 문제입니다. PermGen space Error가

khj93.tistory.com