在遗留系统中将Spring4与EJB集成

在遗留系统中将Spring4与EJB集成,spring,spring-mvc,ejb,Spring,Spring Mvc,Ejb,TL;DR:如何将EJB自动连接到Spring@Controller 我正在尝试将一个新的Spring4WebApp添加到当前使用EJB并在Resin4中运行的遗留系统中。所有EJB都是无状态的和本地的,并且都包含: @Resource SessionContext ejbContext 通过包含以下行的单例查找EJB: return new InitialContext().lookup("production/entapp/default/myapplication/" + class

TL;DR:如何将EJB自动连接到Spring
@Controller


我正在尝试将一个新的Spring4WebApp添加到当前使用EJB并在Resin4中运行的遗留系统中。所有EJB都是无状态的和本地的,并且都包含:

@Resource 
SessionContext ejbContext
通过包含以下行的单例查找EJB:

return new InitialContext().lookup("production/entapp/default/myapplication/" + className + "/local");
除了通过这种方法之外,我没有使用EJB的经验,所以我不太熟悉如何执行查找,只是所有EJB都是以这种方式找到的

我的问题: 如何将EJB自动连接到Spring
@Controller

我怀疑我需要创建某种拦截器,当它发现需要自动连接EJB时,它将执行这种查找,但是在浏览了Google的一页又一页之后,我一点也不聪明


还值得一提的是,我正在尝试在没有任何XML的情况下使用Java
@Configuration
类来完成所有这些工作。

只需在那里添加一个
@Ejb
,而不是查找。这也应该在您的EJB中工作,而不是查找。。。或者只是将EJB的
放在应用程序上下文中并简单地注入它。因此,假设我有一个名为
UserAgentImpl
@EJB
,它实现了
IUserAgent
,容器注入了
@Resource SessionContext
,如何在Spring
@Configuration
类中使用
标记来连接此EJB?@M.Deinum感谢您的建议。
@EJB
注释已经存在,但是我没有设置
mappedName
属性。查找始终是手动完成的(如上所述)。现在我已经设置了
mappedName
,它似乎可以工作了。