Witam,

natrafiłem na następujący problem: mam aplikację która składa się z części głównej (main.jar) w której uruchamiane będą kolejne "moduły" w zależności od wymagań użytkownika (moduleX.jar, moduleY.jar ...). (na razie odpuszczam lazy loading.) Wszystkie jary aplikacji są signed i trusted, a aplikacja nie działa w piaskownicy (mogę modyfikować Security Manager). W jarze głównym jest utworzony indeks. Jary mają parametr download ustawiony na eager. Aplikacja uruchamia się tak jak zakładam (wszystkie jary pobierają się przed uruchomieniem i widać je w cache'u). Następnie pojawia się okno główne aplikacji. Po wybraniu akcji X tworzony jest instacja klasy z moduleX.jar... i wtedy aplikacja zawiesza się na kilka minut (na konsoli widać sporo kominukatów network connecting http://....moduleX.jar, moduleY.jar, main.jar). Tak jakby odwołanie się do niezaładowanego typu powodowało pobranie całej aplikacji. (Serwer http zwraca rzeczywistą datę modyfikacji pliku.) Sytuacja powtarza się przy każdym odwołaniu do nowego typu, co za tym idzie użytkowanie aplikacji staje się niemożliwe. Sytuacja nie zmienia się nawet po wprowadzeniu aktualizacjach bazujących na wersji. Czy winny jest JNLPClassLoader? Czy jest jakiś sposób na pobieranie jarów tylko raz bez pisania własnego ClassLoadera i cache'u?

Pozdrawiam