0

有一个我不确定从哪里开始寻找的问题。

背景:

多模块应用程序 - 主要 Web 应用程序模块和每个提供程序的模块,使用覆盖覆盖文件级别的提供程序细节。提供程序模块之一中出现问题。提供程序模块使用非常相似的 applicationContext.xml。问题仅发生在生产环境和一台同事机器上 - 仅适用于一个提供者覆盖模块 - 从相同的 git master branch 构建。开发/测试/生产机器 = linux,同事机器 = iMac,其他人的机器 = Windows。

在 WebLogic 启动时出现问题,此时正在初始化有问题的 Bean。bean 与在同一 applicationContext.xml 中根据 util:set 元素定义的 Set 属性连接。各种模块定义了具有相同 Set 属性的相同 auth_filter bean(尽管提供者可能有几个不同的 URI 用于列表)

豆定义:

<bean id="auth_filter" class="xxx.xxx.xxx.xxx.AuthFilter"><!--offending bean-->
    <property name="sessionProfile" ref="sessionProfile"/>
    <property name="allowedURIs" ref="allowedURIs"/><!--offending set-->
    <property name="protectedURIs" ref="protectedURIs"/><!--offending set-->
    <property name="allowedAlwaysURIs" ref="allowedAlwaysURIs"/><!--offending set-->
</bean>

有问题的集合定义如下(为简洁起见,只有一个 - 其他遵循套件):

<util:set id="allowedURIs">
    <value>/</value> <!--this is here because '/j_spring_security_check' presents as this in AuthFilter-->
    <value></value> <!-- for dashboard -->
    <value>/login(/.*)*</value>
    <value>/resources(/.*)*</value>
    <value>/register(/.*)*</value>
    <value>/forgotPassword(/.*)*</value>
    <value>/community(/.*)*</value>
    .
    .
    .
    </util:set>

当 WebLogic 启动时,其他模块启动正常,也被视为从构建中排除了有问题的模块,这表明其他模块没有问题。该模块给出了以下异常(为简洁起见再次截断,如果需要可以包括):

    [2013/07/19 08:46:40] [错误] org.springframework.web.context.ContextLoader@308 -> 上下文初始化失败
org.springframework.beans.factory.BeanCreationException:在 ServletContext 资源 [/WEB-INF/applicationContext.xml] 中创建名称为“auth_filter”的 bean 时出错:设置属性值时出错;嵌套异常是 org.springframework.beans.PropertyBatchUpdateException;嵌套的 PropertyAccessExceptions (3) 是:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'allowedURIs' 抛出异常;嵌套异常是 java.lang.NullPointerException
PropertyAccessException 2:org.springframework.beans.MethodInvocationException:属性“protectedURIs”抛出异常;嵌套异常是 java.lang.NullPointerException
PropertyAccessException 3:org.springframework.beans.MethodInvocationException:属性“allowedAlwaysURIs”抛出异常;嵌套异常是 java.lang.NullPointerException
    在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1396)
    在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)
    在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
    在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
    在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
    在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
    在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    在 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
    在 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
    在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
    在 org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385)
    在 org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)
    在 org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
.
.
.

同样,此错误仅显示在生产环境和其他 1 台同事机器上发生。任何关于从哪里开始寻找的建议将不胜感激

4

1 回答 1

0

将环境的 Weblogic 和 jre 版本与您的开发测试设置进行比较。检查弹簧版本是否相同。

于 2013-07-19T10:04:24.463 回答