`
Java_Fan
  • 浏览: 82106 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

类之间相互调用引起的tomcat服务器无法启动原因分析

 
阅读更多

Tomcat无法启动:

日志报错:Causedby:java.lang.StackOverflowError

经查发现是因为有两个类存在相互调用的情况,其中一个类在spring中做了配置,而且这两个类的调用都是现在另外的类中将其作为该类的实例化属性来调用。

例如:

public class XeditServiceDao extends BaseDao
{
   private XeditXmlManager xxm = new XeditXmlManager();
}

public class XeditXmlManager {
   private XeditServiceDao xsDao = new XeditServiceDao();
}

XeditServiceDao类在spring中做了配置,但是当我们启动tomcat服务器时,就会加载XeditServiceDao类的相关属性XeditXmlManager,

而XeditXmlManager中又以XeditServiceDao为属性,造成了死循环,因此造成堆溢出错误java.lang.StackOverflowError。

同理,如果其他web服务器出现此类情况,也不妨查一下此类原因。



分享到:
评论

相关推荐

    Tomcat启动顺序

    Tomcat的启动始于Bootstrap类,这是Tomcat服务器的主入口点。Bootstrap负责初始化Java虚拟机(JVM)并加载核心类库,这些类库包括了Tomcat的核心服务,如Server、Service、Connector和Engine等组件。Bootstrap会...

    tomcat服务器工作原理

    **Tomcat服务器工作原理** Tomcat是一款开源的Java Servlet容器,它是Apache软件基金会下的Jakarta项目的核心组件,主要用于部署和运行Java Web应用程序。Tomcat以其轻量级、高效和易于管理的特性,成为了许多...

    tomcat7启动或运行报错

    具体来说,错误提示中明确指出`org.apache.jasper.el.ELContextImpl`无法被转换为自身,这通常是由于类加载器(ClassLoader)问题引起的。 #### 解决方案 针对此类问题,通常可以采取以下几种解决方案来尝试修复:...

    MyEclipse配置Tomcat服务器教程

    在当今的Web开发领域,MyEclipse作为一个功能丰富的集成开发环境(IDE),结合Apache Tomcat作为Web服务器,为开发者提供了一个高效的开发平台。Apache Tomcat是Apache软件基金会的一个开源项目,主要用于运行Java...

    Tomcat 服务器7.0版本

    同时,WAR文件的部署更加便捷,只需将WAR文件放入webapps目录下,Tomcat会自动解压并启动应用。 Tomcat 7.0还引入了新的管理工具,如Manager应用和Host Manager应用,它们允许管理员通过Web界面来管理和监控Tomcat...

    Linux 配置 tomcat 开机启动.txt

    - 先调用 `stop()` 函数停止 Tomcat,等待 1 秒后再调用 `start()` 函数重新启动 Tomcat。 5. **主逻辑控制**: - 通过分析传入的第一个参数 `$1` 来判断用户想要执行的操作(`start`, `stop`, 或 `restart`)。 ...

    tomcat启动问题

    在使用Apache Tomcat部署Web应用程序时,经常遇到的一个问题是Tomcat无法正常启动。这种情况不仅影响开发效率,还可能导致线上服务中断。本文将详细介绍Tomcat启动过程中可能遇到的问题及其解决方案,帮助读者快速...

    用批处理(.bat)自动配置Tomcat服务器

    2. **启动和停止Tomcat**:批处理脚本可以直接调用Tomcat的bin目录下的startup.bat和shutdown.bat文件来启动和关闭服务器。例如: ``` call %TOMCAT_HOME%\bin\startup.bat timeout /t 5 /nobreak call %TOMCAT_...

    Tomcat5启动流程与配置详解 .

    ### Tomcat5启动流程与配置详解 #### 一、Tomcat5.0目录结构 Tomcat作为一款广泛使用的开源Web服务器软件,其5.0版本的目录结构清晰且功能明确,便于用户理解和维护。以下是对Tomcat5.0各个目录的具体介绍: 1. *...

    Tomcat 6 启动过程分析.doc

    本文将深入解析Tomcat 6的启动流程,主要包括Bootstrap类、Catalina类以及XML解析器Digester的作用。 Bootstrap类是Tomcat启动的入口点,位于`org.apache.catalina.startup`包中。Bootstrap的主要任务是创建一个...

    tomcat6启动脚本

    此脚本主要由一系列shell命令组成,用于设置环境变量、调用Java虚拟机(JVM)以及执行Tomcat的核心服务类。 在某些特定场景下,比如使用非默认的Java版本或需要系统级服务管理,可能需要使用`jsvc`来启动Tomcat。`...

    使用Tomcat或Nginx搭建视频服务器

    标题中提到的“使用Tomcat或Nginx搭建视频服务器”涉及到两个Web服务器软件:Apache Tomcat和Nginx。Apache Tomcat是一个开源的Web服务器和Servlet容器,主要用来运行Java Servlet和JavaServer Pages (JSP)。而Nginx...

    TOMCAT源码分析(启动框架)

    【TOMCAT源码分析(启动框架)】 Tomcat是一款广泛应用的开源Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范,为Web应用程序提供了运行环境。本篇文章将深入探讨Tomcat的系统框架及其启动流程...

    quartz 随tomcat启动执行一次

    通过对题目中提供的信息进行分析,我们可以了解到如何利用 Spring 与 Quartz 进行集成,从而实现 Tomcat 启动时调用 Quartz 执行一次任务的需求。通过合理配置 `SchedulerFactoryBean`、`CronTriggerBean` 和 `...

    Tomcat服务器源码

    在分析源码时,可以通过阅读关键类的初始化过程、方法调用链、以及与服务器配置文件(如server.xml、web.xml)的交互来逐步揭开Tomcat的工作机制。同时,还可以通过阅读Tomcat的文档、参与社区讨论、甚至提交代码...

    tomcat设置开机自启动介绍

    例如,在一个24/7运营的网站中,如果Tomcat没有设置为开机自启动,一旦服务器重启,网站将无法访问,直到有人手动启动Tomcat服务,这无疑增加了故障恢复时间和潜在的业务损失。 ### 设置步骤详解 #### 步骤一:...

    tomcat启动服务运行servlet

    标题“Tomcat启动服务运行Servlet”涉及到的是Java Web开发中的核心概念,主要涵盖Tomcat服务器的启动过程以及Servlet的执行机制。Tomcat是一款开源、免费的Web应用服务器,广泛用于部署Java Servlet和JavaServer ...

    彻底找到 Tomcat 启动速度慢的元凶

    文章描述了一位技术人员遇到的问题:Tomcat服务器启动异常缓慢。起初,这位技术人员猜测问题可能源于部署的应用程序,因此采取了极端措施,即清空了`webapps`目录下除Tomcat自带内容外的所有文件。然而,即便如此,...

    apache-tomcat-8.0.47-windows-x64.zip 【Tomcat服务器,Tomcat8 windows 64位版】

    在这个"apache-tomcat-8.0.47-windows-x64.zip"压缩包中,您将获得的是专为Windows 64位操作系统设计的Tomcat服务器。 首先,让我们详细了解一下Tomcat服务器的核心功能和组件: 1. **Catalina**:这是Tomcat的...

Global site tag (gtag.js) - Google Analytics