2014-12-11 4 views
-1

저는 AEM 프로젝트에서 작업 중이며 구성 요소 X가 있습니다.이 구성 요소와 함께 X의 컨테이너 인 또 다른 컨테이너가 있습니다. X 인스턴스를 컨테이너에 놓습니다. 는 JSP에서, 나는 비슷한이반복되는 결과를 반환하는 AEM CQ - System.currentTimeMillis()

long id = System.currentTimeMillis(); 

다음 : 구성 요소 X의 여러 인스턴스 사이의 문제를 방지하기 위해

, 나는에 대한 X.jsp에서이 자바 함수를 호출, 그들에게 ID를 할당 : 크롬 경위와 DOM을 검사하는 동안

<div id='<%= id %>'> 
</div> 

놀랍게도 나를 위해, 내 HTML 구조에서 반복 ID의 몇 가지를 발견했다. 그리고 물론 이것은 많은 문제를 야기했습니다.

long id = System.nanoTime(); 

내가 미친 건가하고 전에 currentTimeMillis 반복 값을 반환 :

나는 호출하여이 문제를 해결 할 수 있었다? 그게 가능하니?

+0

프로세서가 1 밀리 초 내에 많은 작업을 수행 할 수 있습니까? 예. –

답변

3

그럴 수 있습니까?

물론입니다. 처음에는 컴퓨터가 밀리 초 내에 하나 이상의 작업을 수행하는 것이 가능합니다. 두 번째로, 여기서 언급 한 시계는 종종 밀리 세컨드 단위의 세분성을 갖지 않을 것입니다. 잠시 동안 동일한 결과를 얻은 다음 10ms 또는 15ms만큼 점프한다는 것을 알 수 있습니다.

아니요은 고유 한 ID로 currentTimeMillis을 사용해야합니다. 솔직히 말해서 nanoTime을 사용하는 것을 권하지 않습니다. 왜 UUID을 사용하지 않는 것이 좋을까요? 그것이 바로 그 때문입니다.