Jon*_*her 4 java guice java-ee cdi weld
CDI中拦截器的范围是什么?
又,这是合法的吗?我会在每个被调用的地方获得相同的拦截器实例吗?
@RequestScoped
public class SalesForceControllerInterceptor {
@Inject
private Logger log;
@AroundInvoke
public Object intercept(InvocationContext context) throws Exception {
...
}
Run Code Online (Sandbox Code Playgroud)
是的,拦截器具有像任何其他 cdi 托管 bean 一样的生命周期...因此它们默认是依赖的,但您可以使用您需要的任何范围来注释它们。在您的示例中,同一请求中的所有调用共享拦截器。如果您需要的是“每次调用都使用相同的拦截器”,那么您应该考虑更广泛的范围,例如会话或应用程序。
更新:检查注释:cdi 1.1 拦截器必须具有依赖范围,而 Weld 2.2.6 将其他范围视为错误。
| 归档时间: |
|
| 查看次数: |
1910 次 |
| 最近记录: |