使用,我們發現這個想法: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