약 2 백만 포인트 (위도와 경도)의 googlemap에서 히트 맵을 생성하려고합니다. 내 생각은 테이블에서 포인트를 읽고 목록의 Google API로 전달하는 것입니다. 문제는 List에 2 백만 포인트를로드하면 EJB에서 메모리 부족 오류가 발생한다는 것입니다. 다음은 저에게 오류를주는 행입니다.메모리 부족 목록에 데이터를로드하는 중 예외가 발생했습니다.
List<Earthquakerisk> earthquakeRiskList = em.createNativeQuery("SELECT ASTEXT(geomArea) as geomText, riskvalue,id FROM Earthquakerisk e",Earthquakerisk.class).getResultList();
포인트를 읽고지도에로드하려면 어떤 대안을 사용할 수 있습니까? 나는 glassfish 3.2.2, jdk 1.7, jsf 2.2, ejb를 사용하고 있습니다. 당신이 Iterator 당신 자신의 구현을 만드는 방법에 대한 생각, 또한 http://code.google.com/p/vanilla-java/wiki/HugeCollections
:
목록의 초기 용량을 설정하는 것이 도움이 될 것입니다. – Incognito
이 경우 페이지 매김 쿼리> http://en.wikibooks.org/wiki/Java_Persistence/Querying#Pagination.2C_Max를 사용해보십시오. 2FFirst_Results – Sergio
감사합니다 @Chechus. 페이지 매김 쿼리를 시도하고 결과를 확인하겠습니다. – jpr