본문 바로가기

Web Programming/Spring

(4)
ibatis 대용량 처리 RowHandler(ResultHandler) 개요 프레임워크 내에서 대용량 데이터를 처리하고자 하는데 처음에는 통째로 Select 한 내용을 insert 하려고 했다. INSERT INTO TABLE SELECTCOL1, COL2, COL3, ... FROMTABLE2 ... 이런식으로 진행하려고 했는데, 이는 당연히 문제를 낳을 수 있는 방식이었다. 해당 select의 용량이 메모리보다 크게 될 경우 OOM(Out Of Memory) Exception을 유발하게 되는 것이다. 따라서 Row 하나씩 Select 후 Insert를 foreach 나 Java 로직 내 For문을 통해 구현하려고 하였다. 해당 방법보다도 성능적으로 우수한 Ibatis(또는 Mybatis)에서 제공하는 옵션이 있었다. RowHandler(Mybatis에서는 ResultHa..
Eclipse 자동 Build 안됨 에러 개요 Eclipse 내 에서 자동 빌드가 계속 안되어서 꽤 오랜 시간을 허비한 기억이 나서 정리하게 되었다. 주로 Django 나 C/C++ 을 사용하다가 Spring 을 하게 되니 어색한 것들도 많았는데 그 중 하나가 IDE인 Eclipse였다. 늘 C++과 Python을 사용했기에 더욱이 Eclipse를 사용할 일이 드물었다(학창시절 자바프로그래밍 때 빼고..). 어쨌든 Eclipse 내 프로젝트를 실행(Run)하기 전에 java 파일들을 class로 컴파일 및 빌드의 과정이 이루어져야 하는데 이 과정이 자동으로 잘 작동하다가 어느 순간 갑자기 자동으로 안되서 일일이 수동으로 빌드를 해주었었다. 찾아보니, 나 뿐만 아니라 많은 사람들이 이런 경우들이 있었다(프로젝트 내 jsp와 java 파일들을 수정..
SVN LOCK / BUSY 트러블 슈팅 SVN LOCK이클립스와 연동된 SVN을 통해 commit을 진행하는 도중 commit / update 모두 아래와 같은 에러를 반복하며 동작하지 않았다. clean up 해보라고 하지만 clean up도 수행되지 않는다. 사진출처 해당 Lock을 처리하고자 찾아보니 DB Browser SQLite 파일을 통해서 SVN DB 내의 Lock을 제거하는 방식이 있었다.먼저 아래의 SW를 다운로드해야 한다(OS와 Bit에 맞게 설치).https://sqlitebrowser.orgDB Browser for SQLiteDB Browser for SQLite The Official home of the DB Browser for SQLite Screenshot What it is DB Browser for SQLi..
EJB(Enterprise Java Bean) 개념 EJB(Enterprise Java Bean), 기업환경의 시스템을 구현하기 위한 서버 측 컴포넌트 모델이다. 일반적으로 업무 로직을 가지고 있는 서버 어플리케이션을 EJB라고 한다. Enterprise JavaBeans(EJB)는 독립한 부품이 아닌, 미국 Sun Microsystems사가 제창한 규약이다. EJB는 서버 어플리케이션의 개발을 용이하게해 다중다양한 Platform과 제품간의 이동성을 실현하기 위하여 비지니스로직과 시스템 서비스를 이용하는 로직을 분산해 그 사이의 규약을 규정하고 있다. 비지니스 로직을 탑제한 부품을 "Enterprise Bean"이라고 불린다. Database처리, Transaction처리등의 시스템 서비스를 이용한 로직을 감추고 있는 부품을 "컨테이너"라고 불린다..