Я использую IDE Netbeans для разработки приложения Java Web Start, которое запускается из Интернета, а затем использует EclipseLink JPA для доступа к удаленной базе данных MySQL. Я использую Swing Application Framework для управления жизненным циклом своего приложения.
Когда я запускаю приложение из Netbeans, загрузка моего приложения занимает около 7 секунд, но когда я использую IDE Netbeans для создания дистрибутива Web Start (с файлами JAR и JNLP), запуск занимает около 60 секунд , Кроме того, кажется, что окно прогресса «проверка приложения» / «загрузка приложения» запускается каждый раз, когда я запускаю приложение, даже если его копия уже была кэширована.
С точки зрения пользователей, один сначала видит мой экран-заставку в течение 1-2 секунд, затем окно прогресса "проверка приложения" / "загрузка приложения" в течение 5-20 секунд, а затем ничего в течение добрых 40 секунд до приложение запускается.
Код приложения написан так, что он должен показывать себя ДО того, как JPA начнет загружать модуль персистентности (поэтому я сомневаюсь, что это проблема), но я решил упомянуть об этом на всякий случай.
Обновление: метод createEntityManagerFactory Slow With Web Start
Изучив это далее, я обнаружил, что метод createEntityManagerFactory, который необходим EclipseLink для подключения к MySQL, занимает около 5 секунд, чтобы выполнить при запуске приложения из Netbeans или при удаленном входе в мой сервер для запуска JNLP там, но когда я запускаю приложение через Интернет, та же самая линия занимает 35 секунд (очень задерживает запуск). Интересно, что это время становится еще хуже, так как скорость моего интернет-соединения ухудшается. Ниже приведена копия файла JNLP, который я использую.
Кто-нибудь знает, что может быть причиной такой задержки?
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
MyApp
My App Vendor
Описание моего приложения
MyApp