类之间相互调用引起的tomcat服务器无法启动原因分析
2013-01-29 10:03
393 查看
Tomcat无法启动:
日志报错:Caused by: java.lang.StackOverflowError
经查发现是因为有两个类存在相互调用的情况,其中一个类在spring中做了配置,而且这两个类的调用都是现在另外的类中将其作为该类的实例化属性来调用。
例如:
XeditServiceDao 类在spring中做了配置,但是当我们启动tomcat服务器时,就会加载XeditServiceDao 类的相关属性XeditXmlManager,
而XeditXmlManager 中又以XeditServiceDao 为属性,造成了死循环,因此造成堆溢出错误java.lang.StackOverflowError 。
同理,如果其他web服务器出现此类情况,也不妨查一下此类原因。
日志报错:Caused by: 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服务器出现此类情况,也不妨查一下此类原因。
相关文章推荐
- 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。
- 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。
- tomcat无法正常启动的原因分析
- tomcat的配置及无法启动的原因分析
- 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪
- Servlet自学第4讲:Tomcat无法正常启动的常见原因分析
- 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。
- 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响
- tomcat服务器无法启动或者双击startup.bat一闪而过的原因
- 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。
- 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。
- tomcat无法正常启动的原因分析
- Tomcat无法启动但不报错原因分析
- Tomcat无法启动原因分析与排除
- Tomcat服务器可以启动但是javaweb项目无法启动可能存在的原因
- IBM刀片服务器安装xenserver无法启动的解决方法及原因分析
- 安装win7系统提示“无法更新启动配置”的故障原因分析及解决方法
- tomcat启动失败原因分析
- Spring Boot+Shiro+Redis(redisson)整合时,采用内嵌tomcat启动错误原因分析
- 路径原因linux下tomcat无法启动