У меня есть приложение на основе апплета, которое использует следующие классы:
- javax.xml.parsers.DocumentBuilderFactory
- javax.xml.parsers.DocumentBuilder
- javax.imageio.ImageIO
- javax.imageio.ImageWriteParam
- javax.imageio.ImageWriter
- javax.imageio.stream.FileImageOutputStream . . так далее
Вот как я инициализирую апплет:
var attributes = {
codebase : "http://example.com/urlto/jars",
code : "AppletLauncher.class",
archive : "MyApp.jar?v=" + Math.random()
};
var parameters = {"java_arguments": "-Xmx512m"};
deployJava.runApplet(attributes, parameters, "1.6");
Апплет делает несколько запросов GET. Вот несколько примеров запросов:
[GET] /urlto/jars/META-INF/services/javax.imageio.spi.ImageInputStreamSpi
[HEAD] /urlto/jars/META-INF/services/javax.imageio.spi.ImageInputStreamSpi
[GET] /urlto/jars/META-INF/services/javax.imageio.spi.ImageTranscoderSpi
[HEAD] /urlto/jars/META-INF/services/javax.imageio.spi.ImageTranscoderSpi
[GET] /urlto/jars/META-INF/services/javax.imageio.spi.ImageReaderSpi
[GET] /urlto/jars/META-INF/services/javax.imageio.spi.ImageOutputStreamSpi
[GET] /urlto/jars/META-INF/services/javax.imageio.spi.ImageWriterSpi
[GET] /urlto/jars/META-INF/services/javax.xml.parsers.DocumentBuilderFactory
Я прочитал этот пост, и в нем упоминается об отключении codebase_lookup, у меня это тоже не сработало.
Я понимаю, что загрузчик классов сначала будет искать классы в JVM и файле jar апплета. Если он не найдет его, он будет искать в кодовой базе и делать этот запрос. Если это правда, я использую все основные классы, почему он должен делать какие-либо запросы? Как я могу заставить его не делать эти запросы?
Апплет, наконец, инициализируется, когда все запросы терпят неудачу, но запуск апплета занимает слишком много времени.
В приложении я просто читаю JPEG в BufferedMemory и записываю JPEG из BufferedMemory.
archive : "MyApp.jar?v=" + Math.random()
Измените эту чушь наarchive : "MyApp.jar"
2) Я прочитал этот пост, и в нем упоминается об отключении codebase_lookup. Когда я это делаю, он даже не загружает MyApp.jar и, следовательно, не инициализирует приложение. Это не так, как это предназначено для работы.. т.е. - person Andrew Thompson   schedule 19.07.2013