2015년 8월 19일 수요일

ERWIN logic 컬럼명을 comment로 sql문 생성하기

physical mode에서 Model > Domain Dictionary 선택
1) Domain : _default_ 선택
2) Comment tab > Comment Inherited by Col : %AttName 입력
3) OK 버튼 클릭

Pre &  Post 등록

1)ErWin Physical 모드 선택
2)Database -> Pre &  Post Script -> Model-Level 을 선택3)아래의 스크립트를 추가 

%ForEachTable() {COMMENT ON TABLE %TableName IS '%EntityName';%ForEachColumn() {COMMENT ON COLUMN %TableName.%ColName IS '%AttName';}}sql문 생성시 Schema 옵션에서 Post-Script 를 선택하고 Generate 혹은 Preview 를 선택하면 Comment 스크립트가 생성된다.

2015년 8월 17일 월요일

servlet에 대한 고찰(쓰레드)

서블릿... 모두가 서블릿은 쓰레드로 처리 된다고 알고 있다. 

서블릿의 생명 주기는 아래와 같이 쓰레드와 동일하게 처리 된다라고 알고 있다. 
요청의 들어오면,
- 서블릿 인스턴스가 존재하지 않을 경우,
1. 서블릿의 인스턴스를 생성한다.
2. init() 메서드를 통해 초기화 한다.
- 서블릿 인스턴스가 존재할 경우,
- 각 요청에 대해 서블릿 인스턴스의 스레드를 생성해서 service() 메서드를 호출한다.
- 서블릿 인스턴스를 삭제하게 될 경우, destroy() 메서드를 실행한다.


'서블릿 인스턴스의 스레드'를 생성해서 service() 메서드를 호출한다...
아무리 라이브러리를 까서 서블릿 API 를 아무리 뒤져봐도 Servlet 클래스가 Thread 를 상속받거나 Runnable 을 구현하는 게 보이지 않는다.

애초부터 서블릿은  쓰레드로 구현된 것이 아닌 것이였다. 

서블릿 인스턴스의 스레드를 생성하는 게 아니었다.


요청이 들어오면 WAS(Web Application Server)에서 스레드를 생성하여
서블릿 인스턴스의 service() 메서드를 실행한다.

즉, 생성되는 스레드는 WAS 의 쓰레드였던 거다.

WAS의 쓰레드 풀을 이용하여 쓰레드를 생성하고 해당 쓰레드에 서블릿을 할당하여 싱글톤의 servlet 클래스의 service메쏘드를 실행하여 서블릿이 쓰레드로 실행되도록 한 것이였다. 

2015년 8월 4일 화요일

Mysql Foreign Key 무시하고 데이타 입력

mysql> SET foreign_key_checks = 0;
 - foreign key를 무시하고 입력하도록 처리
mysql> drop table TABLENAME
 - 데이타 입력 or 테이블 삭제
mysql> SET foreign_key_checks = 1;
 - 다시 원상 복구