JAXWS обслуживает только 100 одновременных запросов, как настроить JAXWS, чтобы изменить его на неограниченный? - PullRequest
2 голосов
/ 12 ноября 2009

Я использую JAXWS для генерации веб-сервисов и обслуживания с помощью EndPoint.publish (), а также для развертывания файла war, но как только он обработает 100 запросов, он не вернет 101-й. ответ. Как настроить JAXWS для изменения этого количества на неограниченное?

РЕДАКТИРОВАТЬ: решение найдено, во-первых, оно не было связано с JAXWS, и я извиняюсь за то, что опубликовал его здесь, в моем первом впечатлении я думал, что проблема с JAXWS, но после глубокого изучения и отладки я обнаружил проблему со своим слоем персистентности (Hibernate), где максимальное количество сеансов по умолчанию равно 100. Еще раз извините, что заставили вас думать, что на самом деле не имеет смысла.

Ответы [ 2 ]

3 голосов
/ 12 ноября 2009

Внутренне, пул потоков (Исполнитель) используется для обработки запросов. Размер пула по умолчанию установлен на 100 запросов. Вы можете легко установить собственный ThreadPoolExecutor через Endpoint # setExecutor (Executor) после создания экземпляра Endpoint.

2 голосов
/ 12 ноября 2009

Это очень странно, и мне не удалось воспроизвести поведение, которое вы описываете.

Я быстро создал следующую службу Hello (используя JAX-WS RI 2.1.6 из моего JDK 6):

import java.net.URL;

import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService()
public class Hello {

    // Business method we want to expose as Web service operation
    public String sayHello(String name) {
        return "Hello " + name + "!";
    }

    public static void main(String[] args) throws Exception {
        String address = "http://localhost:8080/HelloWebService/HelloService?WSDL";
        URL wsdlURL = new URL(address + "?wsdl");
        Endpoint ep = Endpoint.publish(address, new Hello());
    }

}

Затем я настроил быстрый тест SoapUI, который вызывает службу hello 110 раз, просто чтобы убедиться, когда работает метод main. Ниже скриншот с фактическим результатом:

альтернативный текст http://img404.imageshack.us/img404/5366/screenshotsoapui301.png

Как видите, тест прошел нормально с ошибкой 0 при 110 (не всех одновременных) вызовах.

Пожалуйста, предоставьте некоторый код, показывающий, что вы делаете, где-то должна быть разница (возможно, вы выполняете сильно распараллеленные запросы, и в этом случае я не тестирую то же самое).

...