CDI - 获取未代理的 bean 实例

CDI - get unproxied instance of bean

我想获得一个未代理的 bean 实例,这样另一个模块就不会因为它抛出异常指示我传递给它的对象类型不正确而中断。

这可能吗,如果可能的话怎么办?我不想创建对象的新实例,因为它已经保存了一些状态。我希望有一种快捷的方法可以让我从代理实例中获取实际对象。

您不能以 none 实现特定方式,也不应该。

您唯一能做的就是使用不需要代理的范围。常见的两个是@javax.enterprise.context.Dependent和@javax.inject.Singleton.

根据用例,您也许可以将其包装在 @Dependent 范围内。