время ожидания соединения в Glassfish при попытке получить sun-web-app_2_5 - PullRequest
1 голос
/ 20 мая 2011

У нас возникла проблема при попытке развернуть военные файлы на сервере приложений glassfish v2 с порталом liferay. когда мы обновили Ubuntu 10.4 до 10.10 (и выше), время развертывания сократилось с 21 секунды до 6 минут. Мне кажется, проблема в том, что при попытке получить http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd из оракула возникает тайм-аут. Должно быть что-то изменилось в Ubuntu между этими выпусками. Я думаю, что отчасти проблема в том, что мы находимся за корпоративным брандмауэром / прокси, но это не изменится, я боюсь ..

Так что было бы "лучше", чтобы. установите sun.net.client.defaultConnectTimeout равным 21 секунде (работает и дает то же время развертывания, что и в 10.4), храните dtd локально для доступа (так как теперь у нас нет доступа к нему ни с 10.4, ни с 10.10, следовательно, время -из ). Я думаю, мы могли бы изменить настройки tcp для linux на наших машинах для разработчиков, но это совсем не похоже на хорошее решение.

Используя следующий код, мы получаем время ожидания около 21 с на 10,4 и 189 с на 10,10.

    long start = System.currentTimeMillis();
    try {     
        System.out.println("start");

        URL u = new URL("http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd");
        URLConnection conn;

        conn = u.openConnection();
        System.out.print(conn.getConnectTimeout());
        //conn.setConnectTimeout(5*1000);

        int readTimeout = conn.getReadTimeout();
        BufferedReader in = new BufferedReader(
                new InputStreamReader(
                conn.getInputStream()));
        String inputLine;

        while ((inputLine = in.readLine()) != null) {
            System.out.println(inputLine);
        }
        in.close();                        
    } catch (Exception ex) {
        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }
    System.out.println("Total time = " + (System.currentTimeMillis() - start) / 1000.0 + " seconds");

1 Ответ

0 голосов
/ 20 мая 2011

Я бы порекомендовал вам использовать консоль администрирования для настройки параметров JVM на , включая соответствующие свойства, которые определяют среду прокси JVM .

Вот скриншот страницы в консоли, которую вам нужно будет использовать ...

enter image description here

Это позволит серверу получить доступ к отсутствующему файлу dtd, не нарушая общую конфигурацию системы на компьютерах разработчика.

...