egovframework.rte.fdl.idgnr.impl.AbstractIdGnrService 소스코드가 필요합니다.
- 작성자 :
- 윤*현
- 작성일 :
- 2018-02-08 12:42:24
- 조회수 :
- 1,273
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
안녕하세요. 수고하십니다.
egovframework.rte.fdl.idgnr 2.7.0을 사용중입니다.
그런데 부하가 많이 발생한 시점에 egovframework.rte.fdl.idgnr.impl.AbstractIdGnrService.getNextBigDecimalId(AbstractIdGnrService.java:195) 에서 Lock이 발생합니다.
디컴파일러로 보면 195라인이 bd = new BigDecimal(getNextLongIdInner()); 로 보이는데 장애상황과 불일치하는 부분이 있어 디컴파일러의 라인이 잘못되지 않았나 싶습니다.
정확하게 해당 클래스의 195라인의 소스를 볼 수 있을까요?
egovframework.rte.fdl.idgnr 2.7.0을 사용중입니다.
그런데 부하가 많이 발생한 시점에 egovframework.rte.fdl.idgnr.impl.AbstractIdGnrService.getNextBigDecimalId(AbstractIdGnrService.java:195) 에서 Lock이 발생합니다.
디컴파일러로 보면 195라인이 bd = new BigDecimal(getNextLongIdInner()); 로 보이는데 장애상황과 불일치하는 부분이 있어 디컴파일러의 라인이 잘못되지 않았나 싶습니다.
정확하게 해당 클래스의 195라인의 소스를 볼 수 있을까요?
A
안녕하십니까, 윤두현님
표준프레임워크센터입니다.
먼저 표준프레임워크에서 해당 클래스에 대한 내용은 제공을 해드리고 있진 않습니다.
하지만 ID Generation에서 해당 에러가 나신다면
먼저 <property name="blockSize" value="10"/>
에서 블럭사이즈를 10이나 적절한 값으로 설정해 보시기 바랍니다.
blockSize 는 Id Generation 내부적으로 사용하는 정보로
ID 요청시 지정된 횟수가 될 경우만 DB에 접근해서 업데이트 하니 참고 바랍니다.
매우 빈번한 억세스가 발생한다면,
oracle의 경우 ID생성부분을 sequence를 사용하거나
mysql이면 autoincrement기능을 사용하여 구현하는것을 검토해 보시기 바랍니다.
감사합니다.
(참고)
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:id_generation
표준프레임워크센터입니다.
먼저 표준프레임워크에서 해당 클래스에 대한 내용은 제공을 해드리고 있진 않습니다.
하지만 ID Generation에서 해당 에러가 나신다면
먼저 <property name="blockSize" value="10"/>
에서 블럭사이즈를 10이나 적절한 값으로 설정해 보시기 바랍니다.
blockSize 는 Id Generation 내부적으로 사용하는 정보로
ID 요청시 지정된 횟수가 될 경우만 DB에 접근해서 업데이트 하니 참고 바랍니다.
매우 빈번한 억세스가 발생한다면,
oracle의 경우 ID생성부분을 sequence를 사용하거나
mysql이면 autoincrement기능을 사용하여 구현하는것을 검토해 보시기 바랍니다.
감사합니다.
(참고)
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:id_generation