본문 바로가기

전체 글

SAP HANA Express 2.0 설치 방법 on OSX 이 내용은 SAP에서 제공하는 HANA Express 2.0 설치 영상을 토대로 진행하며 캡쳐한 내용이다 어쩌다보니 하고있는데, 이 수준에선 땅을 이정도만 파놓음 될것 같아서 남겨놓는다. 영상링크 : https://www.sap.com/assetdetail/2016/09/d2900513-8a7c-0010-82c7-eda71af511fa.html 아래는 Express 패키지별 VM 사양 정보이다. 이 역시 동영상에서 캡쳐한 것이다. 파일다운로드는 캡쳐를 안했다. 여튼 이러한 사양으로 설정을 해줘야 하는데, 이것보다 선행되어야할 것이 VMware 혹은 VirtualBox 설치이다. 나는 VirtualBox를 이용했다 이것도 간단하니 패스... 만약 VMware Fusion을 이용한다면 설치 후 바로 실행하면.. 더보기
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 나 논리 연산자를 통해 유연하게 잡아낼 수 있다. 정리하면 특정.. 더보기
AspectJ 수동 추가 후 일부 Pointcut이 정상적으로 동작하지 않을 때 해결하기 일부 pointcut은 잡히지만 안잡히는 Aspect의 pointcut이 있었다. 잡으려는 Point가 protected void 함수였는데, 단순하게 protected 타입때문 혹은 Abastract Method가 이유라고 생각했다 -> 직접적으로 선언하거나 pointcut 설정 기술인 SuperClass+ 표기로 해도 되지 않았다. CGLIB가 이를 해결하리라 믿고 추가하였음에도 불구하고 정상동작하지 못했다. 그래서 그냥 뭐든 해보자라는 마음으로 프로젝트 설정을 바꿔 보았다. Convert to AspectJ Project 소스 수정화면 좌측명에 Aspect별 위치도 출력이 안되었다가 설정된 두에 출력되었다. 선택 후 Explorer을 다시 로드하고 다시 프로그램을 실행해뵌 바로 Aspect 및 Po.. 더보기
[Java/Servlet]Read timed out 에러 작업중에 아래와 같은 오류가 발생했다. org.apache.catalina.core.StandardWrapperValve invoke 심각: Servlet.service() for servlet [appServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.tiles.definition.DefinitionsFactoryException: I/O Error reading definitions.] with root cause java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socke.. 더보기