2014-01-30 1 views
0

자바 응용 프로그램에서는 정적 데이터 및 변형 조건을 유지하기 위해 XML을 사용했습니다. 이제 이러한 XML은 통제 할 수 없을 정도로 커지고 있습니다. 성능 비용과 가용성 측면에서 우리에게 도움이되는 정적 데이터와 변동 조건을 유지하는 대안은 무엇입니까?변형 조건과 정적 데이터가 포함 된 XML 확장. 대체물 찾기

감사

당신이 당신이 JAX-B를 사용하거나, 어떻게 든 객체로 점점로드 한 후이 파일이 싱글을 경우는, 각 요청의 XML 파일을 읽어 말했다 ( http://en.wikipedia.org/wiki/Singleton_pattern)이이 값을 보유 할 수
+0

정확히 "통제 할 수없는 성장"무엇을 의미합니까 : 당신이 뭔가를 작성해야 각 방법의 성능을 측정하기 위해? 어떤 문제가 있습니까? 데이터의 특성은 무엇입니까? –

+0

왜 데이터베이스를 사용하지 않습니까? – IndoKnight

답변

1

이렇게하면 XML을 한 번만 확인하고 메모리에 보관하여 성능을 향상시킬 수 있습니다. 그러나 XML이 너무 커서 XML을 메모리에 유지할 수없는 경우이 정보를 데이터베이스에 저장하는 것이 좋습니다. 모든 데이터를 데이터베이스로 마이그레이션하거나 XML 데이터에 따라 시스템 시작시 데이터를 업데이트하는 기능을 만들 수 있습니다. 이 시나리오에서 데이터베이스를 사용하는 가장 좋은 해결책은 모든 데이터를 마이그레이션하고 더 이상 XML을 사용하지 않는 것입니다.

public static void main(String args[]) { 
    Date initialDate = new Date(); 
    getXmlValue();// or getDBValue(); 
    Date finalDate = new Date(); 
    System.out.println("Load XML took " + (initialDate.getTime()-finalDate.getTime()) + "ms"); 
} 
+0

답장을 보내 주셔서 감사합니다. DB 접근 방식으로 얻을 수있는 성능 이점을 통해 현재 XML로 얻고있는 성능 이점을 어떻게 평가할 수 있습니까? 기본적으로 내 XML (들)을 DB로 옮기기 위해 어떻게 끝낼 수 있습니까? – ams2705

+0

그럼 다음과 같이해야합니다 : Date initialDate = new Date(); getXmlValue(); 날짜 finalDate = 새 날짜(); System.out.println ("XML로드"+ initialDate.getTime() - finalDate.getTime()); 이 코드로 답변을 업데이트하겠습니다. – lauksas

+0

당신이 그것을 좋아한다면 @ ams2705 내 대답을 upvote하십시오. 이 방법을 사용하면 의견이 더 잘 맞출 수 있습니다. 감사. – lauksas

관련 문제