遇到问题,我不确定从哪里开始寻找。
背景:
多模块应用程序 - 主要Web应用程序模块和每个提供程序的模块,使用叠加层覆盖文件级别的提供程序特定的内容。其中一个提供程序模块中出现问题。提供者模块使用非常相似的applicationContext.xml。 问题仅发生在生产环境和一个同事机器上 - 仅针对一个提供商覆盖模块 - 从相同的git master分支构建。 Dev / Test / Prod machine = linux,co-workers machine = iMac,其他人的机器= Windows。
在初始化违规Bean时,WebLogic启动时会出现问题。 bean使用Set属性进行连接,这些属性在util:set elements的相同applicationContext.xml中定义。各种模块使用相同的Set属性定义相同的auth_filter bean(虽然提供者可能有两个不同的URI列表)
Bean定义:
<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] [ERROR] org.springframework.web.context.ContextLoader@308 -> Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'auth_filter' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (3) are: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'allowedURIs' threw exception; nested exception is java.lang.NullPointerException PropertyAccessException 2: org.springframework.beans.MethodInvocationException: Property 'protectedURIs' threw exception; nested exception is java.lang.NullPointerException PropertyAccessException 3: org.springframework.beans.MethodInvocationException: Property 'allowedAlwaysURIs' threw exception; nested exception is java.lang.NullPointerException at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1396) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) . . .
同样,此错误仅显示在生产环境和其他1个同事机器上。关于从哪里开始寻找的任何建议都将非常感激
答案 0 :(得分:0)
将您的开发测试设置与Weblogic和环境jre的版本进行比较。检查弹簧版本是否相同。