39장. A Cryo statBContext 오브젝트 사용
초록
Cryo statBContext
개체를 사용하면 Apache CXF의 런타임에서 XML 요소와 Java 개체 간에 데이터를 변환할 수 있습니다. 애플리케이션 개발자는 메시지 처리기에서 Cryostat B 오브젝트를 사용하고 원시 XML 메시지로 작업하는 소비자를 구현할 때 원하는 CryostatBContext
오브젝트를 인스턴스화해야 합니다.
39.1. 개요
Cryo statBContext
오브젝트는 런타임에서 사용하는 하위 수준 오브젝트입니다. 런타임에서 XML 요소와 해당 Java 표현 간에 변환할 수 있습니다. 일반적으로 애플리케이션 개발자는 Cryostat BContext
개체를 사용할 필요가 없습니다. XML 데이터의 마샬링 및 축소 해제는 일반적으로 Cryostat-WS 애플리케이션의 전송 및 바인딩 계층에 의해 처리됩니다.
그러나 애플리케이션이 XML 메시지 콘텐츠를 직접 조작해야 하는 인스턴스가 있습니다. 다음 두 가지 경우에서 다음을 수행합니다.
사용 가능한 두 가지 Cryo statBContext
.newInstance() 메서드 중 하나를 사용하여 CryostatBContext
오브젝트를 인스턴스화해야 합니다.
39.2. 모범 사례
jaxbContext
오브젝트는 인스턴스화하는 데 리소스 집약적입니다. 가능한 적은 수의 인스턴스를 생성하는 것이 좋습니다. 이 작업을 수행하는 한 가지 방법은 애플리케이션에서 사용하는 모든 개체를 관리하고 애플리케이션의 여러 부분 간에 공유할 수 있는 단일 Cryostat BContext
오브젝트를 생성하는 것입니다.
jaxbContext
개체는 스레드로부터 안전합니다.
39.3. 오브젝트 팩토리를 사용하여 CryostatBContext 오브젝트 가져오기
Cryo statBContext
클래스는 예 39.1. “클래스를 사용하여 context 가져오기” 에 표시된 newInstance()
메서드를 제공하여 CryostatB 오브젝트를 구현하는 클래스 목록을 가져옵니다.
예 39.1. 클래스를 사용하여 context 가져오기
정적CryostatBContext
newInstance
Class…
classesToBeBound
CryostatBException
반환된 Cryo statBObject
오브젝트는 메서드에 전달된 클래스에 의해 구현된 CryostatB 오브젝트에 대한 데이터를 마샬링하고 비마이클할 수 있습니다. 또한 메서드에 전달된 클래스에서 정적으로 참조되는 모든 클래스를 사용할 수 있습니다.
애플리케이션에서 사용하는 모든 CryostatB 클래스의 이름을 newInstance()
메서드에 전달할 수는 있지만 효율적이지 않습니다. 동일한 목표를 달성하는 더 효율적인 방법은 애플리케이션을 위해 생성된 오브젝트 팩토리 또는 오브젝트 팩토리를 전달하는 것입니다. 결과 Cryo statBContext
오브젝트는 지정된 오브젝트 팩토리에서 인스턴스화할 수 있는 모든 CryostatB 클래스를 관리할 수 있습니다.
39.4. 패키지 이름을 사용하여 CryostatBContext 오브젝트 가져오기
Cryo statBContext
클래스는 예 39.2. “클래스를 사용하여 context 가져오기” 에 표시된 newInstance()
메서드를 제공합니다. 이 메서드는 콜론(:
) 패키지 이름 목록을 가져옵니다. 지정된 패키지에는 XML 스키마에서 파생된 CryostatB 오브젝트가 포함되어야 합니다.
예 39.2. 클래스를 사용하여 context 가져오기
정적CryostatBContext
새Instance
문자열
컨텍스트PathPath
#178BException
반환된 Cryo statBContext
오브젝트는 지정된 패키지의 클래스에 의해 구현되는 모든 CryostatB 오브젝트에 대해 마샬링 및 비마일 데이터를 마샬링할 수 있습니다.