No bean named 'memcachedSimulator' is defined

银河星沙 发布于 2012/09/21 15:57
阅读 1K+
收藏 1

@江南白衣 你好,想跟你请教个问题:

今天运行springside的showcase,报了个错:
org.springframework.beans.factory.NoSuchBeanDefinitionException:No bean named 'memcachedSimulator' is defined
根据springside的文档:
SpringSide的extension模块里,基于它封装了一个MemcachedSimulator。在Showcase中,就使用了它,见applicationContext-memcached.xml。
applicationContext-memcached.xml的确定义了MemcachedSimulator,但是org.springside.modules.test.cache.memcached.MemcachedSimulator 应该在TEST模块,而不在extension模块。
是没找到吗?

加载中
0
江南白衣
江南白衣

你是对的,simulator一般只在test中用到,所以放在了Test中了,我回头修改wiki文档。

但问题是你在什么情况下出来那个错误的?我好像重现不出来。

银河星沙
银河星沙
memcachedSimulator设置有问题,应在其profile的属性中加上production,这样在生产环境中才能找到memcachedSimulator;
0
银河星沙
银河星沙
我的运行环境:netbeans 7.2, glassfish3.1.2
0
银河星沙
银河星沙
另外,我的操作系统是ubuntu 12.04.
0
银河星沙
银河星沙

引用来自“江南白衣”的答案

你是对的,simulator一般只在test中用到,所以放在了Test中了,我回头修改wiki文档。

但问题是你在什么情况下出来那个错误的?我好像重现不出来。

经过我再次运行,发现问题应该是:applicationContext-memcached.xml中以下profile的设置中,没有production,而程序又在生产环境中用到了以下的beans, 所以把production加到profile中,并以逗号分隔,就避免这个错误。
<beans profile="development,functional,test">
<!-- 演示用的JMemcached, 模拟Memcached服务器 -->
<bean id="memcachedSimulator" class="org.springside.modules.test.cache.memcached.MemcachedSimulator" lazy-init="false">
<property name="serverUrl" value="${memcached.url}" />
</bean>
</beans>
0
江南白衣
江南白衣
生产环境下,不应该再用模拟器了。
银河星沙
银河星沙
是否可能生产环境中实际上使用了模拟器?
0
jackliang
jackliang

修改了上面的问题以后,出现下面的问题

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'clusterQuartzScheduler' defined in URL [file:/D:/openSourceSpace/springside4/examples/showcase/target/classes/schedule/applicationContext-quartz-timer-cluster.xml]: Invocation of init method failed; nested exception is org.quartz.SchedulerException: Jobs added with no trigger must be durable.

返回顶部
顶部