1
我有啓動類中的啓動路由並創建一個新的CamelContextBean類,因爲這是一個CDI注入bean,它將容納一個引用到一個CamelContext實例。類型CamelContextBean與限定符的不滿意的依賴關係@Default當在jar中啓動駱駝路由並在同一個jar中注入camelContextbean
- 的Java 1.8
- Apache的駱駝2.16.2
- wildfly 9.0.2
- EJB 3
CamelContextBean:
public class CamelContextBean {
private CamelContext camelContext;
public CamelContext getCamelContext() {
return camelContext;
}
public void setCamelContext(CamelContext camelContext) {
this.camelContext = camelContext;
}
}
啓動類:
@Singleton
@Startup
public class BootStrap {
private static CamelContext camelContext;
private CamelContextBean camelContextBean = new CamelContextBean();
@PostConstruct
public void init() throws Exception {
camelContext = new DefaultCamelContext();
try {
camelContext.addRoutes(new MyRoute1());
camelContext.addRoutes(new MyRoute2());
camelContext.start();
camelContextBean.setCamelContext(camelContext);
} catch (Exception e) {
e.printStackTrace();
}
@Produces
public CamelContextBean getCamelContextService() {
return camelContextService;
}
我想通過注入它在同一個jar中使用camelContextBean。
@Stateless
public class TestService {
@Inject
CamelContextBean camelContextService;
public void connectRoute(){
CamelContext camelContext = camelContextService.getCamelContext();
...
...
}
我在maven倉庫中安裝了這個jar。嘗試在戰爭項目中用作依賴項,並將此TestService用作ejb服務。
@EJB
TestService testService
當建立戰爭項目,所有的路線開始。但無法完成構建,它給出無法啓動TestService,因爲標題中的錯誤。我可以解決這個問題嗎?
這對我真的很有用。謝謝你kds。 – coolD
@kds,我得到了與wildfly 10.1.0相同的問題。這個補丁與這個補丁不兼容,並且在那裏沒有用4.8.0補丁解決。那麼,如何用10.1.0 Final做到這一點。 – namalfernandolk