异常信息
java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Thu Nov 22 14:50:17 CST 2018]; root of context hierarchy
该异常出现的形式各种各样, 经过各种排查最终确定我项目出现该异常的原因是因为ehcache中少配置了一个<cache>标签中必需配置的属性,
原配置
<defaultCache eternal="false"
maxElementsInMemory="10000"
maxElementsOnDisk="0"
overflowToDisk="false"
diskPersistent="false"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
diskSpoolBufferSizeMB="100"
memoryStoreEvictionPolicy="FIFO" />
<!--app中的token缓存-->
<cache name="appTokenCache"
eternal="true"
overflowToDisk="true"
diskPersistent="true"
memoryStoreEvictionPolicy="FIFO" />
在<cache>标签中少配置了 maxElementsInMemory="1000" 这个必需要有的属性才导致的结果
一直傻傻的以为<cache>标签默认会继承<defaultCache>内的所有属性,
修改后的配置
<defaultCache eternal="false"
maxElementsInMemory="10000"
maxElementsOnDisk="0"
overflowToDisk="false"
diskPersistent="false"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
diskSpoolBufferSizeMB="100"
memoryStoreEvictionPolicy="FIFO" />
<!--app中的token缓存-->
<cache name="appTokenCache"
eternal="true"
maxElementsInMemory="1000"
overflowToDisk="true"
diskPersistent="true"
memoryStoreEvictionPolicy="FIFO" />
问题解决, |