正在加载重复的弹簧配置?

时间:2008-10-28 19:55:10

标签: java spring tomcat

我正在查看由tomcat加载的spring的输出,并且有一些非常奇怪的东西......一切都是重复的。什么会导致这个?无论是什么,它都会导致我的应用程序以奇怪的方式运行。

其他信息:

该应用程序是一个Web应用程序。使用web.xml文件中定义的上下文加载器(?)加载所有spring信息。我的配置文件分为6个(左右)文件。

示例调试输出:

  

[DEBUG,DefaultFilterInvocationDefinitionSource,main]添加了URL模式:/ **;属性:[REQUIRES_SECURE_CHANNEL]

     

[DEBUG,DefaultFilterInvocationDefinitionSource,main]添加了URL模式:/ **;属性:[REQUIRES_SECURE_CHANNEL]

     

[DEBUG,DefaultFilterInvocationDefinitionSource,main]添加了URL模式:/ **;属性:[ROLE_READ,ROLE_UPDATE]

     

[DEBUG,DefaultFilterInvocationDefinitionSource,main]添加了URL模式:/ **;属性:[ROLE_READ,ROLE_UPDATE]

     

[DEBUG,AbstractFallbackMethodDefinitionSource,main]添加安全方法[CacheKey [com.service.impl.FooServiceImpl; public abstract java.lang.Boolean com.service.IFooService.saveOrUpdateFoo(com.model.Foo2,java.lang.String)thrus org.springframework.dao.DataAccessException]] with attribute [[ROLE_UPDATE]]

     

[DEBUG,AbstractFallbackMethodDefinitionSource,main]添加安全方法[CacheKey [com.service.impl.FooServiceImpl; public abstract java.lang.Boolean com.service.IFooService.saveOrUpdateFoo(com.model.Foo2,java.lang.String)thrus org.springframework.dao.DataAccessException]] with attribute [[ROLE_UPDATE]]

     

[INFO,AbstractSecurityInterceptor,main]验证的配置属性

     

[INFO,AbstractSecurityInterceptor,main]验证的配置属性

4 个答案:

答案 0 :(得分:2)

您确定日志记录配置中的某些内容不会多次将每个类别/记录器添加到appender吗?

对于log4j来说,这是可能的,不确定JCL或Tomcat最新版本在封面下使用的内容。

答案 1 :(得分:0)

在Tomcat中,如果您的应用程序配置为默认应用程序,则必须将其部署在/ root目录下。如果没有,那么Tomcat将启动您的应用程序的2个副本,一个放置它的位置,以及一个它预期默认值的位置。

这可以解释这里发生的事情,假设我正确地回忆了所有这些。

答案 2 :(得分:0)

这里的答案和评论非常可能是正确的。

将您的log4j配置发布为您的问题的更新/编辑,然后我会将修补程序作为更新/编辑发布到我的答案。

答案 3 :(得分:0)

我遇到了同样的问题,这只是一个log4j配置问题,这是我的原始配置

<category name="org.springframework">
    <level value="INFO"></level>
    <appender-ref ref="basicAppender" />
</category>

在此配置中,org.springframework包中的所有类都将记录一次,因为我没有将additivity属性设置为false,记录器“org.springframework”将再次记录,这导致所有日志都是复制。所以我只是将additivity属性设置为false,它可以工作。嗯,这只是我的情况,可能会对你有所帮助。