Mam wiadro Amazon S3, które przechowuje moje pliki .jar dla mojej aplikacji Java. I mam serwer sieciowy, który dynamicznie tworzy i wyświetla plik JNLP, który wskazuje na to wiadro Amazon S3 dla bazy kodu.Jak powinienem skonfigurować mój plik JNLP z plikami JAR dla zasobnika Amazon S3 (dynamiczny adres IP CDN)?
JNLP wydaje się być w stanie pobrać pliki .jar poprawnie z mojego wiadra Amazon S3. Ale podczas próby uruchomienia, otrzymuję następujący wyjątek:
ExitException[ 3]java.io.IOException: Cannot find cached resource for URL: http://s3.amazonaws.com/....
at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Czy Java buforuje pliki .jar z adresem IP? Wcześniej w dzienniku java drukowane są następujące dane: "Pamięć podręczna: Niezgodność IP CacheEntry: 207.171.189.80! = 207.171.187.117". Oba adresy IP rozwiązują S3.
Jestem trochę zaskoczony, że dostaję ten problem i uważam, że jest to powszechny problem, ale nie można znaleźć dobrego rozwiązania. Jeśli trzymać się z adresu IP w pliku JNLP:
<jnlp spec="1.0" xmlns:jfx="http://javafx.com" codebase="http://207.171.189.80/...
zamiast:
<jnlp spec="1.0" xmlns:jfx="http://javafx.com" codebase="http://s3.amazonaws.com/...
to działa za każdym razem. W przeciwnym razie zwykle zrywa z powyższym wyjątkiem.
Czy ktoś wie, dobre rozwiązanie dla tego? Dzięki.
Proponuję przejrzeć [bazę błędów] (http://bugs.sun.com/) i jeśli nie widzisz czegoś podobnego, podnieś nowy raport. –
Dobra, rozglądałem się, ale nie mogłem nic znaleźć. Podniosłem nowy raport i jeśli zmieni się w błąd, powrócę tutaj. Dzięki. – Patrick
Miałem podobny problem z osadzaniem apletu Javy na Witrynach Google w "szafce na pliki" - włączono również dziennik Java i odkryłem, że adres URL "codebase" jest ukryty w chmurze. Różne części mojego apletu były faktycznie pobierane z różnych adresów IP w przestrzeni Google (gdzie przechowują pliki w szafach plików). Moim obejściem było udostępnienie apletu na stronie code.google.com, co nie jest prawdopodobnie pomocne. Myślę, że nie jest to jedyny problem, jaki JRE ma z zachowaniem w chmurze. – Fuhrmanator