У меня есть клиент веб-сервиса стиля JAX-WS, который был автоматически сгенерирован с помощью среды IDE NetBeans.Можно ли повторно использовать объекты javax.xml.ws.Service?
Сгенерированная фабрика прокси (расширяет javax.xml.ws.Service) делегирует создание прокси различным методам Service.getPort. Приложение, которое я поддерживаю, создает экземпляр фабрики и получает прокси каждый раз, когда он вызывает целевую услугу.
Было показано, что создание новых экземпляров фабрики proxy было дорогостоящим, учитывая, что документация WSDL, предоставленная фабричному конструктору, URI HTTP, повторно извлекается для каждого экземпляра.
У нас был успех в улучшении производительности путем кэширования WSDL. Но это имеет уродливое обслуживание и последствия для упаковки для нас.
Я хотел бы изучить пригодность кэширования самой фабрики прокси. Безопасно ли, например, два разных клиентских класса, выполняемых на одной JVM и нацеленных на один и тот же веб-сервис, безопасно использовать одну и ту же фабрику для получения отдельных объектов-прокси (или общего, повторного)?
Мне не удалось найти руководство ни по спецификации JAX-WS, ни по документации javax.xml.ws API. Множественность фабрично-доверенных мне неясна. Наличие Service.getPort, а не Service.createPort не внушает доверия.