본문 바로가기

백엔드

[ElasticSearch] RestHighLevel Client 사용하기 참고 문서가 엘라스틱 6.x 버전의 글이거나 앞으로 삭제될 Transport Client 방법을 사용하고 있다. 엘라스틱 8.0에서 삭제될 방법보다는 권장하는 방법으로 사용하는게 나을것 같아서 삽질을 했다... 나같이 삽질하는 분이 없기를... Spring boot를 사용하지 않았다. 현재 프로젝트가 spring-boot도 아니고 엘라스틱서치를 신규 프로젝트로 관리할 것도 아니기에 레거시 방법을 쓴다. Spring 버전은 5.x를 추천한다. 엘라스틱서치 7.6버전을 지원하는 spring-data-elasticsearch 버전은 4.0 이후 버전부터다. 공식 홈페이지의 GA 버전은 3.2.4 버전이고 4.0 버전은 별도로 선언해야만 한다. (2020-02-14 기준) pom.xml 에 선언한다. sprin..
[Jenkins] 빌드 후 Tomcat 시작 할 경우 프로세스 종료 Jenkins는 빌드가 완료되면 빌드때문에 발생한 모든 프로세스를 종료시킨다. ProcessTreeKiller라는 기능인데 Jenkins 설정에선 기본 값이 true로 되어 있다. 원 클릭 빌드를 꿈꾸는 나에겐 아주 불필요한 기능이다. 방법1) Jenkins 실행 스크립트를 아래와 같이 뜯어 고친다. ...더보기 java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war 방법2) Build 설정에 파라미터를 지정해준다. ...더보기
Couldn't connect to host, port: localhost, 25; timeout -1 Caused by: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1 JDK : 1.8 이전에 수행했던 메일 발송 테스트를 다시 하고자 하는데 위 에러가 발생했다. cmd에서 telnet localhost 25 로 접속을 시도해보니 220 코드가 회신되는걸 보니 이클립스 문제인 듯 하다. JDK6 부터 가끔.. IPv6를 사용하려고 하는데 이를 IPv4를 사용하라고 지정해 줄 수 있다. 아래 그림 처럼 실행 환경 옵션에 추가해 준다. -Djava.net.preferIPv4Stack=true
[Java] java.lang.IndexOutOfBoundsException: No group 2 데이터베이스에 값을 입력하는 중 에러가 발생했다... 정확히는 SQL과 파라미터를 조합해 로그를 찍어주는 곳에서... 처음 보는 에러네? 로그... ### Error updating database. Cause: java.lang.IndexOutOfBoundsException: No group 2 에러를 발생한 값... 2018-10-14 20:15 [DEBUG] ******* field value : {bcrypt}$2a$10$Rq1GlJlTVLXL/9GQLohX6.YGkn/yAHa.ZSOLekODrY.wVjTDvE1Sy 비밀번호를 암호화 하게되면 $가 문자열에 포함되게 되는데 이 $가 replace 쪽에서 문제를 일으키는 것... 이럴 땐 좀 복잡하지만 돌아가야 한다... public class Re..
[SpringSecurity] Invalid CSRF token found for http://localhost:8080/jedu/user/register.do 회원가입을 진행하던 중 HTTP 403 에러가 발생하였다. Spring Security 3.2 이후 버전에서는 적절한 CSRF 토큰을 포함시켜주지 않으면 에러를 발생하게끔 되어있다. > CSRF ? https://namu.wiki/w/CSRF 관련 로그 2018-10-14 18:10 [DEBUG] /user/register.do at position 1 of 14 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter' 2018-10-14 18:10 [DEBUG] HttpSession returned null object for SPRING_SECURITY_CONTEXT 2018-10-14 18:10 [DEBUG] No S..
SqlSession was not registered for synchronization because synchronization is not active. Spring - myBatis 환경에서 트랜잭션이 적용되지 않으면 아래 로그를 볼 수 있다. Creating a new SqlSession SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1ad7d61e] was not registered for synchronization because synchronization is not active Fetching JDBC Connection from DataSource trace com.mchange.v2.resourcepool.BasicResourcePool@723b12e9 [managed: 20, unused: 19, excluded: 0] (e.g. com.mchange.v2.c3p0.i..
java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstract java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstract org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 위 처럼 mybatis 3.4.6, mybatis-spring 버전을 1.3.2로 사용하고 테스트를 하니 위 에러가 나더라.. com.mchange c3p0 0.9.5.2 c3p0 라이브러리 버전이 낮아서 그런거 이므로 최신 버전으로 바꾸어 사용하면 된다.
Maven - cannot find symbol symbol Maven 빌드 중 아래 오류가 발생함.[DEBUG] incrementalBuildHelper#beforeRebuildExecution[INFO] Compiling 47 source files to C:\dev\workspace-class\spring-mybatis-grid\target\classes[DEBUG] incrementalBuildHelper#afterRebuildExecution[INFO] /C:/[경로]/java/com/edu/test/NamingReflection.java: C:\dev\workspace-class\spring-mybatis-grid\src\main\java\com\edu\test\NamingReflection.java uses unchecked or unsafe oper..