2015-11-03 29 views
0

在我的項目中,我使用焊縫。我有一個問題,將"GroupedExchangeAggregationStrategy"注入到我的一個構造函數中。該對象具有默認的無參數構造函數。 Beans.xml被設置爲發現「全部」。但我得到unsatisfied dependency for type GroupedExchangeAggregationStrategyCDI我需要生產者的對象與默認的構造函數?

我是否需要創建一個生產者才能返回new GroupedExchangeAggregationStrategy()?或者還有什麼可能導致問題?

(該項目已經使用了許多@Produces和預選賽。所以CDI東西在一般的工作原理。)

回答

1

你是正確的。

如果您需要注入第三方類(例如Apache Camel),最好的方法是創建一個Producer method。默認範圍是@Dependent

+0

這太糟糕了,但謝謝。我來自谷歌guice注入和guice能夠注入所有類0-arg構造函數。 – dermoritz

+0

@dermoritz請糾正我我誤解了你,但Guice在這裏基本上是一樣的。因爲您仍然必須編寫一行'bind(GroupedExchangeAggregationStrategy)',或者編寫一行生產者方法。 CDI在這裏沒有區別。 –

+2

不,如果我直接注入「GroupedExchangeAggregationStrategy」,如果我想注入AggregationStrategy然後我必須綁定。 – dermoritz

相關問題