NetBeans IDE에서 자동 생성 된 JAX-WS 스타일 웹 서비스 클라이언트가 있습니다.javax.xml.ws.Service 객체를 다시 사용하는 것이 안전합니까?
생성 된 프록시 팩토리 (javax.xml.ws.Service 확장)는 프록시 생성을 다양한 Service.getPort 메소드에 위임합니다. 유지 관리하는 응용 프로그램은 공장을 인스턴스화하고 대상 서비스를 호출 할 때마다 프록시를 얻습니다.
팩토리 생성자에 제공된 WSDL 문서 인 HTTP URI가 각 인스턴스화마다 다시 검색되면 새 프록시 팩토리 인스턴스를 반복적으로 만드는 것이 비용이 많이 드는 것으로 나타났습니다.
우리는 WSDL을 캐싱하여 성능을 향상시키는 데 성공했습니다. 그러나 이것은 우리에게 추악한 유지 보수 및 패키징 관련 사항을 가지고 있습니다.
프록시 팩토리 캐싱의 적합성을 탐구하고 싶습니다. 예를 들어 동일한 JVM에서 실행되고 동일한 웹 서비스를 대상으로하는 두 개의 다른 클라이언트 클래스가 안전하게 동일한 팩토리를 사용하여 고유 한 프록시 객체 (또는 공유 된 재진입 성 객체)를 얻을 수 있습니까?
JAX-WS 스펙이나 javax.xml.ws API 문서에서 지침을 찾을 수 없습니다. 팩토리 - 프록시 다중성은 나에게 불분명하다. Service.createPort 대신 Service.getPort를 사용한다고해서 확신이 들지 않습니다.