首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将EJB3与Spring集成

将EJB3与Spring集成
EN

Stack Overflow用户
提问于 2010-08-09 19:34:55
回答 2查看 3.6K关注 0票数 0

我正在使用EJB和Spring3构建应用程序。我有三个maven模块- Spring jars,EJB jar和web part。在web部件中,我想调用我的EJB会话bean。下面是它的代码:

代码语言:javascript
复制
@Controller
public class IndexController {

 @EJB
 PaymentRemote paymentRemote;
}

我还有一个应用程序上下文文件,其内容如下:

代码语言:javascript
复制
<jee:local-slsb id="paymentRemote" jndi-name="ejb/myBean" 
   business-interface="net.learntechnology.ejb.PaymentRemote"/>

代码语言:javascript
复制
<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor">
 <property name="alwaysUseJndiLookup" value="true"/>

在我的ejb模块中,我有一个接口:

代码语言:javascript
复制
@Local
public interface PaymentRemote {
}

不幸的是,当我在JBoss as 5上部署它时,我得到了以下错误:

代码语言:javascript
复制
Error creating bean with name 'paymentRemote': Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: ejb not bound.

我在net中看到了很多例子,都是这样配置的。我被困住了..。有人能帮我解决这个问题吗?我会非常感激的!

EN

回答 2

Stack Overflow用户

发布于 2010-08-09 20:51:56

对于JBOSS,正确的模式是: application-name/bean/remote或local

票数 1
EN

Stack Overflow用户

发布于 2010-08-09 20:56:25

既然我的评论就是答案,我就换个说法……

确保EJB以您期望的名称实际绑定到JNDI。错误消息表明它不是。

在JBoss中的JMX控制台中,查找JNDIView对象,并调用它的list方法。如果你的EJB在ejb/myBean上,它应该出现在这里。如果不是,请使用不同的名称查找它,并绑定到它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3439557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档