初始化任何对象都会导致跳过代码的一部分

时间:2015-02-03 15:09:15

标签: java spring memory sax

我有一个Spring MVC应用程序,在我的HomeController我有解析XML的代码:

 SAXParserFactory factory = SAXParserFactory.newInstance();
      // ...
      // load data
      // ....
      // till here everything usually works fine

                SAXParser saxParser = factory.newSAXParser();
                SaxHandler handler = new SaxHandler();
                saxParser.parse(is, handler);
               }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (ParserConfigurationException e) {
            e.printStackTrace();
        } catch (SAXException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            return "homeView";
        }

问题在于,当我尝试在SaxHandler extends DefaultHandler内创建任何对象的新实例时,我的应用随后会随机跳过部分程序并显示视图。当我尝试创建一些其他对象的实例时,它通常会崩溃"在另一个地方 - 即在HomeController。没有打印堆栈跟踪,catch块中的断点没有帮助,我真的很困惑。 SDK的版本为1.8,AS为Tomcat 8。知道什么可能导致它以及如何解决它?

1 个答案:

答案 0 :(得分:0)

问题是由IDE引起的 - IntelliJ Idea Ultimate 14.0.3。在Eclipse Luna中,它没有问题。在安装了一些插件到IDE后,我意识到这个问题开始发生了。删除带有所有插件的IDE并重新安装有帮助。不过我仍然没有安装插件,所以我不能100%肯定,如果是这样,导致问题的原因。但我有时会注意到终端中有一条消息说Mongo插件可能会导致内存泄漏,所以这是我的热门候选人。