채번 테이블을 가지고 날짜별로 번호를 부여한다.
select 하여 가장 큰 번호를 얻어오며, ... for update 하여 테이블에 락을 걸고 채번한 번호를 update 한다.
채번하는 메소드는 synchronized 를 걸어 싱글톤으로 구현한다.
* 문제점
synchronized 한 메소드에 접근한 프로세스가 이상종료를 하면 key를 가지고 죽어버리기 때문에
다른 프로세스들이 접근할 수 없다. 이러한 경우는 할 수 없이 was를 restart 하게 된다.
혹은 for update 로 테이블에 락을 걸고 이상종료를 하는 경우에는 DB 테이블에도 락이 걸리므로, 심각한 상황에 처하게 된다.
select 하여 가장 큰 번호를 얻어오며, ... for update 하여 테이블에 락을 걸고 채번한 번호를 update 한다.
채번하는 메소드는 synchronized 를 걸어 싱글톤으로 구현한다.
* 문제점
synchronized 한 메소드에 접근한 프로세스가 이상종료를 하면 key를 가지고 죽어버리기 때문에
다른 프로세스들이 접근할 수 없다. 이러한 경우는 할 수 없이 was를 restart 하게 된다.
혹은 for update 로 테이블에 락을 걸고 이상종료를 하는 경우에는 DB 테이블에도 락이 걸리므로, 심각한 상황에 처하게 된다.
'java' 카테고리의 다른 글
Jakarta POI - 읽기 (0) | 2005.11.30 |
---|---|
스케쥴러 구현 (0) | 2005.11.30 |
JavaMail 을 이용하여 pop3로 메일 가져오기 (1) | 2005.11.30 |
정규식 (0) | 2005.11.30 |
파일 업로드와 MultipartRequest (0) | 2005.11.28 |