使用EJB 3在Spring 3.2.6中使用Deprecated AbstractStatelessSessionBean的onEjbCreate方法时获取NullPointerException

时间:2014-04-02 07:30:36

标签: java spring spring-mvc

我有一个使用Spring 2.5开发的现有应用程序,我必须迁移到3.2.6。 迁移后,一切正常。除了我在Spring 3.2.6中使用不推荐NullPointerException的{​​{1}}方法时获得onEjbCreate()。 我认为问题是 onEjbCreate()与EJB 3.0不兼容。 我尝试使用AbstractStatelessSessionBean,但后来我无法取代现有的@PostConstruct

如果有人能帮助我,我将不胜感激。 感谢。

这是在Spring 2.5上运行的现有代码

getBeanFactory()

1 个答案:

答案 0 :(得分:2)

正如您所注意到AbstractStatelessSessionBean deprecated支持EJB3样式实现,而在Spring 4.0中它完全被删除。

对于EJB3,Spring提供SpringBeanAutowiringInterceptor

拥有你可以简单地使用它:

@Stateless
@Interceptors(SpringBeanAutowiringInterceptor.class)
public class MyEjb {

   @Autowired
   private ConnectionFactory mqConnectorFactory;

}

当然,您应该确保在类路径中正确配置Spring:beanRefContext.xml