使用,我们发现这个想法:EJB如何使用弹簧引导bean?
我们想利用拦截器,以便从一个EJB的访问春天开机豆。但问题是,文档的示例使用了新的上下文。
EJB如何访问spring引导上下文?
我们尝试这样做:
public class MySpringActuatorMetricsCoreTestInterceptor extends SpringBeanAutowiringInterceptor {
//Spring boot application context
@Autowired
ApplicationContext applicationContext;
@SuppressWarnings("resource")
@Override
protected BeanFactory getBeanFactory(Object target) {
return applicationContext.getAutowireCapableBeanFactory();
}
}
而且EBJ看起来是这样的:
// ejb
@Stateless
// spring
@Interceptors(MySpringActuatorMetricsCoreTestInterceptor.class)
public class FirstBean {
[...]
的问题是:应用程序上下文尚未初始化,因为EJB的初始化之前并因此发生了 - >空指针异常。
我们认为有两种选择: - 我们从弹簧引导中获得应用程序上下文。 - 我们可以将MySpringActuatorMetricsCoreTestInterceptor创建的上下文提供给Spring引导上下文。
有没有解决方法?另外一个选择?
我们使用的是GlassFish 3.1
谢谢!
EJB和Spring Boot似乎与我正交。我的首选是Spring和Spring Boot。抛弃EJB。 – duffymo
我还没有找到方法,最好的办法可能是将服务作为使用弹簧靴和弹簧休息的休息服务。 然而,在春季引导消费ejbs是可能的。 – werner