2013-11-15 2 views
3

와 XML 처리 특히 구문 분석, 알토 훨씬 빠른 세의입니다 this discussionWoodStox 잭슨

을 읽을 때 알토와를 사용하는 경우. 일반적으로 Woodstox 또는 SJSXP보다 50 % ~ 100 % 빠릅니다. 한 가지 단점은 DTD를 처리하지 않는다는 것입니다 (따라서 외부 항목이 아니라 사전 정의 된 문자 엔티티를 처리 함).

Aalto는 xml을 jackson으로 읽고/쓰는 데 권장되는 방법입니다. 그러나 jackson-dataformat-xml 페이지에서 잠시 동안 업데이트되지 않은 Woodstox를 사용하는 것이 좋습니다.

그래서 앞으로 나아가는 가장 좋은 방법은 무엇입니까? Woodstox 또는 Aalto?

+1

Woodstox 릴리즈의 작은 노트 : 몇 가지 릴리스의 이유 중 일부는 매우 성숙하고 완전하며 버그가 없다는 것입니다. "파산하지 않으면 고치지 마라." 그러나 파싱 된 엔티티의 확장을 제한하는 기능 (XML 파싱 된 엔티티를 사용하여 특정 형태의 서비스 거부 공격으로부터 보호해야 함)을 추가하는 새로운 릴리스 (4.3.0)가있었습니다. – StaxMan

답변

2

저는 Woodstox가 폭 넓은 기능성과 사실상 Stax 표준 구현이라는 점에서 올바른 작동을위한 가장 안전한 선택이라고 생각합니다. 대부분의 Java XML/Soap 프레임 워크는 Woodstox를 사용합니다. 그래서 모든 곳에서 번거 로움을 최소화하려면 좋은 선택입니다.

하지만 Aalto는 훨씬 빠르며 JAVB 스타일의 데이터 바인딩에는 DTD 처리가 필요하지 않습니다.

그래서 나는 이것이 성능 (Aalto)을 얼마나 중요하게 생각하는지, 그리고 얼마나 간단하고 간단하게 "아무 문제없이 작동합니다"(Woodstox) 얼마나 귀한지 돌아올 것입니다. 시스템을 직접 개발한다면 스스로 선택하는 방법입니다.

게다가 하나에서 다른 것으로 전환하는 것이 쉽습니다. 따라서 한 가지 가능성은 Aalto를 시도하는 것입니다. 문제가있는 경우에만 (FWIW, Aalto/Jackson과 관련하여 문제 추적기별로보고 된 문제가 없습니다. 이는 가상의 문제입니다).