CDI 我是否需要具有默认构造函数的对象的生产者?

CDI do i need producer for objects with default constructor?

在我的项目中,我使用 weld se。我在将 "GroupedExchangeAggregationStrategy" 注入我的一个构造函数时遇到问题。这个对象有一个默认的无参数构造函数。 Beans.xml 设置为发现 "all"。但是我得到 unsatisfied dependency for type GroupedExchangeAggregationStrategy.

我是否需要为 return new GroupedExchangeAggregationStrategy() 创建一个制作人?或者还有什么可能导致问题?

(该项目已经使用了很多 @Produces 和限定符。所以 cdi 的东西一般都能用。)

你是对的。

如果您需要第 3 方的注入 类(例如在您的情况下来自 Apache Camel),最好的方法是创建一个 Producer method。默认范围将为 @Dependent.