ssh框架 Could not commit Hibernate transaction问题

来源:百度知道 编辑:UC知道 时间:2024/04/28 07:55:06
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4
187)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:73
9)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)

at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
a:904)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
ava:867)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474
)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:119)
at org.apache.catalina.core.Contain

这类问题通常都是因为在web.xml里面添加了

<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>

而导致的。看到有人回帖说把org.springframework.web.context.ContextLoaderListener替换为org.springframework.web.context.ContextLoaderServlet,服务器就不会报出Error listenerStart的错误了,其实不然,即使错误不会报出了,但作用出现了偏差。究其原因,ContextLoaderListener是在服务器刚启动时即执行的一个监听器,用来监测jar包或者配置文件信息是否完整正确的,所以,如果服务器中报出Error listenerStart的异常,引发的原因可能有很多,因为是服务器内部出现了问题,所以不好调试,也不好用某种固定的方法解决。

最好的解决方法是查看tomcat的日志信息,通过日志的显示,即可以非常清楚的确定因为问题的原因,从而快速的解决问题。

以Tomcat5.5为例,tomcat5.5在默认情况下,并不会自动记录日志信息,需要人为配置。

1、在tomcat安装目录的common/classes中建立一个属性文件log4j.properties

2、在文件中写入日志的信息及日志记录的等级:

log4j.rootLogger=info,Console,R

log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
#log4j.appender.Console.layout.ConversionPat