【发布时间】:2012-11-01 19:03:30
【问题描述】:
我想使用 @Inject 向 CDI 应用程序公开由外部框架管理的实例。这些实例必须由其他框架提供,因为它们的生命周期基于各种缓存策略。
例如:同一个实例在同一个线程范围内可见,可能存在于许多请求范围内,会话范围不适用。似乎我需要定义一个针对这类实例的新范围?
最好的方法是什么?扩展,是否可以使用生产者方法?
我几乎可以使用以下方法使用生产者方法:
@Inject
@CustomInject
FwObject obj;
@Produces
@CustomInject
FwObject createConfig(InjectionPoint p) {
return (FwObject) ctx.get((Class<?>) p.getType());
}
但这迫使我明确生成的类型,这是不可能的,因为没有通用的框架接口。
任何帮助表示赞赏。
【问题讨论】:
标签: java jakarta-ee cdi weld