Java IOException только при запуске новой Java 1.6 - кто-то, пожалуйста

После обновления до XP и Java 1.6 одно из наших приложений для интрасети испытывает проблему при запуске Java-апплета в браузере. Java-апплет является редактором документов и принимает параметр, в котором находится документ. Я предполагаю, что он копирует этот файл на компьютер пользователя для редактирования. Я хотел бы знать больше, но у меня нет источника ... дам!

мы получаем исключение java.io.IOException на компьютере под управлением XP-IE6-Java 1.6. Эта проблема не возникает на нашей старой Win2K-IE6-Java 1.3, поэтому мы уверены, что она изолирована от рабочего стола, а не от сервера (в любом случае, на 99%).

Немного информации: если вы попытаетесь запустить апплет дважды подряд, он будет работать во второй раз. Первый раз не получается. Кроме того, появляется сообщение об ошибке ДО того, как оранжевый логотип загрузки Java появится в браузере.

Я также ввел следующую информацию в файл политики и перезагрузил файл политики через консоль.

grant codeBase "http://intranetserver/*" {
    permission java.security.AllPermission; 
};

Вот дамп стека трассировки. Спасибо за ваше время :-)

java.io.IOException: ошибка записи
    в java.io.FileOutputStream.writeBytes (собственный метод)
    at java.io.FileOutputStream.write (неизвестный источник)
    at sun.net.www.protocol.http.HttpURLConnection $ HttpInputStream.read (неизвестный источник)
    at sun.net.www.protocol.http.HttpURLConnection $ HttpInputStream.read (неизвестный источник)
    at sun.net.www.protocol.http.HttpURLConnection $ HttpInputStream.read (неизвестный источник)
    на sun.net.www.protocol.http.HttpURLConnection $ HttpInputStream.close (неизвестный источник)
    в com.docscience.dlstools.browser.editor.HTMLDocumentLoader.loadDocument (HTMLDocumentLoader.java:94)
    в com.docscience.dlstools.browser.editor.HTMLDocumentLoader.loadDocument (HTMLDocumentLoader.java:113)
    в com.docscience.dlstools.browser.editor.HTMLDocumentLoader.loadDocument (HTMLDocumentLoader.java:126)
    в com.docscience.dlstools.browser.editor.dsBrowserEditor.loadPage (dsBrowserEditor.java:1623)
    в com.docscience.dlstools.browser.editor.dsBrowserEditor.loadFile (dsBrowserEditor.java:1873)
    в com.docscience.dlstools.browser.editor.dsBrowserEditor. (dsBrowserEditor.java:201)
    в com.docscience.dlstools.browser.editor.DLSBrowserEditor.init (DLSBrowserEditor.java:38)
    at sun.applet.AppletPanel.run (неизвестный источник)
    at java.lang.Thread.run (неизвестный источник)
12.12.2008 01:11:57
4 ОТВЕТА

Вы говорите, что перешли с Java v1.3 непосредственно на Java 1.6, была ли у вас возможность протестировать его вообще с Java 1.4 или 1.5? Немного больше контекстной информации было бы полезно здесь.

0
12.12.2008 03:23:38

Ваш код подписан или вы полагаетесь на параметр в файле политики?

Я помню, что у меня была похожая проблема с подписанным кодом. Я не могу вспомнить точную ситуацию, но оказалось, что настройка проверки отзыва (или, может быть, OCSP) в консоли Java (Tab Advanced, Section Security) вызывала некоторые проблемы при первом запуске апплета при включении. SUN заявляет, что они оба отключены по умолчанию, поэтому вы не столкнетесь с этой проблемой, если не включите настройку явно.

Вы можете посмотреть и отключить оба, возможно, это решит проблему, хотя отключение проверки отзыва, вероятно, нежелательно.

0
12.12.2008 09:17:44

Если вы декомпилируете и посмотрите на источник HttpURLConnection, вы увидите, что исключение происходит при записи в кеш HTTP. См. Документацию для этого здесь: http://java.sun.com/javase/6/docs/technotes/guides/net/http-cache.html

Возможно, вам придется использовать отладчик, чтобы увидеть, что именно там происходит и в чем причина.

0
15.12.2008 12:19:55
РЕШЕНИЕ

Я решил проблему. Отключите временные файлы в панели управления Java.

1
15.12.2008 22:00:33