У меня есть приложение EAR с модулем Application Client.
Когда этот файл EAR развернут на GlassFish v2 и модуль Application Client присутствует в кеше, объем трафика междуклиентский компьютер и сервер во время запуска Application Client составляет ок.0,7 КБ.
Но когда я развертываю это приложение на GlassFish v3 и запускаю модуль Application Client второй или третий раз (так, чтобы он уже присутствовал в кэше), объем трафика междуклиентский компьютер и сервер во время запуска Application Client составляют 10 МБ.
Что может быть не так?
UPD 1
Даже если я создаю простой проект EAR с компонентом Application Client, который просто выводит «Hello World»и разверните его на GlassFish v3, он по-прежнему составляет 5-6 МБ при каждом запуске Application Client из кэша.
UPD 2
Попытка углубиться в проблему.
Когда я запускаю приложение из кэша в GlassFish v3, я получаю следующее исключение в журнале GlassFish v3 для каждой библиотеки в моем клиенте приложения:
java.io.IOException: An established connection was aborted by the software in your host machine
дляпример:
SEVERE: Adapter[/___JWSappclient/___system] s1as/glassfish/modules/webservices-osgi.jar
java.io.IOException: An established connection was aborted by the software in your host machine
at sun.nio.ch.SocketDispatcher.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:33)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:100)
У меня есть предположение, что издержки трафика могут быть связаны.В интернете есть информация об этой проблеме.Но, по-видимому, нет официального объяснения или способа как это исправить.
Вот интересная тема , связанная с этой проблемой, которая может пролить некоторый свет на нее.
Вот как Тим (подробнее tjquinn) прокомментировал ситуацию:
Сообщения «Установленное соединение прервано» - это те сообщения, которые мы видели, но, как вы сказали, не влияют на запуск.Я думаю - но не проверил - что Java Web Start начинает загрузку JAR, а затем обнаруживает, что кэшированная копия актуальна и поэтому прерывает передачу.Этого не должно происходить, но я не выяснил, что именно заставляет его знать, является ли это проблемой Java Web Start или проблемой Grizzly (это транспортный уровень в основном в GlassFish) или самой проблемой GlassFish.
UPD 3 На "Old Nabble" есть интересная дискуссия о похожей проблеме .У нас также были проблемы с веб-службами после запуска Application Client.
UPD 4 Алексей Сташок с форумов Grizzly (ветка, упомянутая в UPD 3) предложил разместить вопрос на форуме Java Web Start. А вот ссылка на ветку на форумах Java Web Start .