造成Naming not found的主要原因是Spring在查找ejb时会自动添加"java:comp/env/"前缀,因此你的EJB会找不到,解决的办法是不要设置LocalStatelessSessionProxyFactoryBean的resourceRef属性或将其设为false,这样spring在查找ejb时会根据你原本设置的jndiName进行lookup.
另外的一个错误是,ejb使用的beanFactory应当是和war不同的,所以应当再建立一个applicationContext.xml,将其放在lcc.jar中,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans>
<bean id="echoService" class="org.olympus.poseidon.test.simplemis.ejb.EchoServiceImpl">
</bean>
</beans>