在遗留系统中将Spring4与EJB集成
TL;DR:如何将EJB自动连接到Spring在遗留系统中将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
@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
,它似乎可以工作了。