当我在 applicationcontext.xml 中添加 cacheclients.xml 文件时,我遇到异常
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:170)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:921)
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:841)
at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:579)
at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:115)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4980)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5626)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
我的文件cacheclient.xml文件是
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean name="announcementClient" class="com.ccc.service.cache.clients.GenericCompanyCacheClient" init-method="init">
<property name="cacheManager" ref="cacheManager"/>
<property name="cacheName" value="valid_data"/>
<property name="dBQuery" value="SELECT * from validstatus" />
<property name="clientName" value="ValidStatus" />
<property name="moduleName" value="VALID_Status" />
</bean>
<bean name="quarterlyResultsClient" class="com.ccc.service.cache.clients.GenericCompanyCacheClient" init-method="init">
<property name="cacheManager" ref="cacheManager"/>
<property name="cacheName" value="valid_data"/>
<property name="dBQuery" value="SELECT * from validuserrole" />
<property name="clientName" value="ValidUserRole" />
<property name="moduleName" value="VALID_USER_ROLE" />
</bean>
</beans>
<import resource="CacheClients.xml" />
当我删除以上导入一切正常
Web.xml条目
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
答案 0 :(得分:0)
你在eclipse中使用tomcat吗? 然后刷新项目,maven构建它,maven更新项目 如果你还在面对这个问题,请告诉我。