본문 바로가기

2018/07

Tomcat 에서 webapp이 선언한 web.xml에 기술된 error-code 400에 대한 처리를 무시할 때 해결 방법 Tomcat 9+ 버전 사용중에 처음보는 상황을 겪었다. 호기심에 parameter에 json 타입을 넣어서 get방식으로 던지고이를 받아서 처리하게끔 해보려고 했다. { key:value, key:[value0,value1,value2…] } Tomcat 에서 아래와 같은 에러를 일으켰다. java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 처음보는 에러였고, 이에 대해서 찾아보니 RFC7230 기술되어 있는 허용되지않은 기호 사용 시에 Tomcat에서 URI 파싱부터 이를 차단하여 Webapp에 web... 더보기
PostgreSQL 시간 불일치 처리정보 insert쿼리의 현재시간 입력이 시스템 시간과 맞지 않음을 확인하고 진행했다. 단순한 절차로 진행했다. 현재 설정확인 postgreSQL은 설치 후 자기 계정을 생성하고 해당 계정으로만 로컬에서 직접접근을 허용한다. 설치 시 안바꿨다면 postgres이다. 확인하려면 ps 등으로 grep postgres등 으로 확인 프로세스 이름에 postgres는 최소한 들어갈 것이다. 실행중인 계정정보 확인 후 su 로 계정정보 변경 su posrtgres 설정정보에 따라 sudo로 해야될 수 있다. 변경 후 psql 실행하여 현재 timezone과 시간 확인 SELECT current_setting(‘TIMEZONE’), now(); 조회된 정보와 OS에 설정된 정보가 다르다면 conf에서 값을 변경해야한다. c.. 더보기
[maven] maven-resources-plugin을 이용한 properties.xml 별도 배포 여러 상황에 맞는 프로퍼티 내용을 배포 후에도 수정하고 바로 적용 시키는 걸 위해서 기존에 jar에 담아 배포하던 properties 관련 xml파일을 분리 배포하는 방법을 찾았었다.ㅏ jar 에 포함되면 propertie조금 바꿨다고 다시 배포본을 말고, 그걸 다시 배포하고 하는 쓸데 없는 일이 자꾸 벌어진다.. 배포하는 용도에 따라서 분리해서 배포해내고도 싶었다. 그래서 이용하게 된 것이 maven-resources-plugin이다. 배포본 생성 시에 파라미터를 통해 어떤 것을 분리해서 복사할 지를 정하게도 했다. pom.xml에 아래 처럼 maven-resources-plugin의 설정 정보를 입력했다. org.apache.maven.plugins maven-resources-plugin copy-.. 더보기
maven clean install 후 runnable jar 배포설정 Maven내에서 컴파일시 배포를 함께 처리하도록 플러그인을 설정한다. 핵심내용 Maven-jar-plugin(MANIFEST파일 커스텀), maven-dependency-plugin(종속된 라이브러리를 지정 디렉터리에 복사에서 제공) 를 이용하도록 추가했다 Maven-jar-plugin 은 하위에 , , 지정 maven-dependency-plugin은 하위에 , , , 등을 지정 상기항목 모두 하위 예제와 같은 형태이다. 4.0.0 Scheduler Scheduler 0.5 Scheduler src maven-compiler-plugin 3.7.0 1.8 1.8 org.apache.maven.plugins maven-jar-plugin true lib/ com.test.quartzMain org.apa.. 더보기
AOP 사용하지 않던 프로젝트에 AOP 추가 시 발생한 문제 Eclipse에서 개발 중에 일부 Pointcut이 정상적으로 선택이 안되는 문제가 발생했었다. Spring AOP를 이용한 것이 아닌 순수 AspectJ로 Pointcut을 컨트롤 하려고 하였다. 일부는 예상했던데로 잘 Aspect에 할당한 Pointcut에 잡히게 되었다. Advice : before advice, after returning advice, around advice, after throwing advice 등의 특정 동작에 대한 어떤 시점에 잡을 것인지를 정의한다. Pointcut : 특정 제한자 / 특정 클래스 하위의 / 특정 반환기본형을 가진 / 특정 함수가 / 특정 매개변수를 이용하는 것을 말한다. wild card 나 논리 연산자를 통해 유연하게 잡아낼 수 있다. 정리하면 특정.. 더보기