2010-01-22 4 views
2

JDK 1.6에는 JAX-WS API를 통해 FastInfoset 웹 서비스를 사용할 수있는 기능이 포함되어 있습니다. 이들의 구현은 (어떤 재치있는 자바 개발자로 하나님의 두려움을 넣어 디자인 된 패키지 이름, com.sun.xml.internal 안에 깊이 숨겨져 있습니다 예를 들어 com.sun.xml.internal.fastinfoset.stax.StAXDocumentParser (XMLStreamReader를 구현하는) 및 com.sun.xml.internal.fastinfoset.stax.StAXDocumentSerializer (XMLStreamWriter를 구현하는).FastInfoset 리더 및 라이터 가져 오기

내 이해한다는 것이다 이러한 FastInfoset 구현의 사용은 내부 JAX-WS 콘텐츠 협상 논리의 일부이므로 공개 API에 노출되지는 않지만 FastInfoset 구현을 명시 적으로 사용하고 공용 STAX 인터페이스를 사용하며 공개적으로 참조 할 수 있습니다 팩토리 클래스가 아닌이 내부 패키지를 직접 참조 할 수 있습니다.

이 기능을 사용할 수 있는지 알 수 있습니까? 아마도 표준 STAX 공장을 통해?

답변

2

XMLInputFactoryXMLOutputFactory이 그럴듯 해 보입니다.

각 환경에는 3 가지 구현이 있습니다. 하나는 cxf (배제)이고 다른 하나는 codehaus (배제)이며 다른 하나는 참조하는 빠른 인포 세트 패키지의 것입니다.

javadoc에 "사용"섹션이 없으므로 Eclipse "References"를 사용하여이 파일을 발견했습니다.

+0

하지만 그 공장에서는 가장 잘 생각하는 구현을 되돌려 줄 것이며 "FastInfoset 구현을 원합니다"라고 말할 수는 없습니까? 아니면 할 수 있습니까? – skaffman

+0

나는 생각하지 않는다. 그들은 정적 인 FactoryFinder.find 메소드를 사용한다. 하지만 기본적으로 그들은 당신이 필요로하는 것을 돌려줘야한다고 생각합니다. – Bozho

+0

'XMLInputFactory.newFactory()'를 사용할 때 FastInfoset 구현의 클래스 이름을 전달해야하는 것처럼 보입니다. 직접 인스턴스화하는 것보다 낫지는 않지만 올바른 방향으로 나아가는 단계입니다. – skaffman

관련 문제