Spring:非法访问:此Web应用程序实例已经停止

时间:2015-08-05 07:46:44

标签: java spring spring-mvc memory-management

我正在开发一个Spring-MVC应用程序,我每晚都在计算统计数据。问题是,昨天计算失败,我有这个错误和一个hs_err_something.log文件。该文件基本上表示内存不足错误,但我们的服务器有32GB内存和相当多的磁盘空间。此外,服务器在夜间有点放松。为什么我收到此错误。我会发布相关代码的内容。

StatisticsServiceImpl:

 @Override
        @Scheduled(cron = "0 2 2 * * ?")
        public void computeStatisticsForAllUsers() {
// One of the count as part of statistics
                int groupNotesCount = this.groupNotesService.getNoteCountForUser(person.getUsername());
    }

GroupNotesDAOImpl:

 @Override
    public int getNoteCountForUser(String noteCreatorEmail) {
        Session session = this.sessionFactory.getCurrentSession();
        Query query = session.createQuery("select count(*) from GroupNotes as gn where gn.noteCreatorEmail=:noteCreatorEmail");
        query.setParameter("noteCreatorEmail", noteCreatorEmail);
        return new Integer(String.valueOf(query.uniqueResult()));

    }

错误日志:

Aug 05, 2015 2:02:02 AM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already.  Could not load gn.  The eventual following stack trace is cause
d by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no function
al impact.
java.lang.IllegalStateException
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1612)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
        at com.journaldev.spring.dao.GroupNotesDAOImpl.getNoteCountForUser(GroupNotesDAOImpl.java:359)

hs_err.log文件:

#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 741867520 bytes for committing reserved memory.
# Possible reasons:
#   The system is out of physical RAM or swap space
#   In 32 bit mode, the process size limit was hit
# Possible solutions:
#   Reduce memory load on the system
#   Increase physical memory or swap space
#   Check if swap backing store is full
#   Use 64 bit Java on a 64 bit OS
#   Decrease Java heap size (-Xmx/-Xms)
#   Decrease number of Java threads
#   Decrease Java thread stack sizes (-Xss)
#   Set larger code cache with -XX:ReservedCodeCacheSize=
# This output file may be truncated or incomplete.
#
#  Out of Memory Error (os_linux.cpp:2673), pid=20080, tid=140319513569024
#
# JRE version: Java(TM) SE Runtime Environment (8.0_45-b14) (build 1.8.0_45-b14)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.45-b02 mixed mode linux-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#

我该怎么办?你能帮忙的话,我会很高兴。非常感谢。

0 个答案:

没有答案