Апплет падает при запуске во второй раз - журнал ошибок предоставлен - PullRequest
1 голос
/ 10 ноября 2010

У нас есть приложение, которое запускается на странице входа в систему, а затем переходит на вторую страницу, с которой загружается апплет. Все отлично работает. Когда пользователь выходит из системы, браузер возвращается к экрану входа. Если пользователь снова входит в систему, происходит сбой браузера при инициализации частей апплета. Это происходит только при второй загрузке апплета. Кэширование отключено в браузере, но браузер никогда не закрывается полностью, поэтому могу ли я считать, что апплет, загруженный при первом входе в систему, все еще существует?

Дополнительная информация. Консоль Sun Java появляется при загрузке апплета. Когда пользователь выходит из системы и возвращается к экрану входа, консоль Sun Java все еще работает, хотя экран входа не использует Java (только html и javascript). Я думаю, что что-то не переинициализируется, когда пользователь выходит из системы, но апплет останавливается и уничтожается, так что же еще может зависать?
Как ни странно, это происходит только на одной тестовой машине, но не на других.

Ниже приведен журнал ошибок от SJC:

java.lang.NullPointerException
    at javax.swing.text.html.parser.Parser.errorContext(Unknown Source)
    at javax.swing.text.html.parser.Parser.parse(Unknown Source)
    at javax.swing.text.html.parser.DocumentParser.parse(Unknown Source)
    at javax.swing.text.html.parser.ParserDelegator.parse(Unknown Source)
    at javax.swing.text.html.HTMLEditorKit.read(Unknown Source)
    at javax.swing.JEditorPane.setText(Unknown Source)
    at ReportPane.setDescription(ReportPane.java:577)
    at ReportPane.doDefineLoad(ReportPane.java:608)
    at ReportPane.<init>(ReportPane.java:565)
    at RevApp2.createGui(RevApp2.java:640)
    at RevApp2.access$0(RevApp2.java:414)
    at RevApp2$1.run(RevApp2.java:393)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
asDescription-><font face="CENTURY SCHOOLBOOK">Use to assign accounts to coders.</font>
java.lang.reflect.InvocationTargetException
    at java.awt.EventQueue.invokeAndWait(Unknown Source)
    at javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
    at RevApp2.init(RevApp2.java:389)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
    at javax.swing.text.html.parser.Parser.errorContext(Unknown Source)
    at javax.swing.text.html.parser.Parser.parse(Unknown Source)
    at javax.swing.text.html.parser.DocumentParser.parse(Unknown Source)
    at javax.swing.text.html.parser.ParserDelegator.parse(Unknown Source)
    at javax.swing.text.html.HTMLEditorKit.read(Unknown Source)
    at javax.swing.JEditorPane.setText(Unknown Source)
    at AdminPane.setDescription(AdminPane.java:197)
    at AdminPane.<init>(AdminPane.java:174)
    at RevApp2.createGui(RevApp2.java:656)
    at RevApp2.access$0(RevApp2.java:414)
    at RevApp2$1.run(RevApp2.java:393)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
netscape.javascript.JSException: Unspecified error invoking method or accessing property "accountfocus"
    at sun.plugin2.main.client.MessagePassingJSObject.newJSException(Unknown Source)
    at sun.plugin2.main.client.MessagePassingJSObject.waitForReply(Unknown Source)
    at sun.plugin2.main.client.MessagePassingJSObject.call(Unknown Source)
    at RevApp2.start(RevApp2.java:2045)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Exception: netscape.javascript.JSException: Unspecified error invoking method or accessing property "accountfocus"

Ответы [ 2 ]

1 голос
/ 10 ноября 2010

Обойти эту проблему можно следующим образом:

  editorPane.setEditorKit(new HTMLEditorKit() {
   protected Parser getParser() {
    try {
     Class c = Class
       .forName("javax.swing.text.html.parser.ParserDelegator");
     Parser defaultParser = (Parser) c.newInstance();
     return defaultParser;
    } catch (Throwable e) {
    }
    return null;
   }
  });
1 голос
/ 10 ноября 2010

Если вы воспользуетесь Google "javax.swing.text.html.parser.Parser.errorContext", вы обнаружите, что у других были подобные проблемы, и сообщили о них на какой-то доске обсуждений оракула:

http://forums.oracle.com/forums/thread.jspa?messageID=8297744&tstart=0

Они говорят об обходном пути для этого - может быть, это подойдет и вашему случаю.

Qute с форума:

Я не понял, было ли это правый конец, но смог уклониться это когда я сделал это таким образом.

JEditorPane htmlPane = new JEditorPane ("text / html", html);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...