【发布时间】:2016-02-11 10:34:23
【问题描述】:
我目前正在研究一个基类被许多 bean 扩展的项目。
这个基类有一个通用方法,基本上我需要做的唯一更改是检查当特定调用失败时,调用该方法的当前实例是否是应用程序范围的 bean。如果是,我只需要记录错误消息并返回缓存响应;如果不是,我必须提出一个例外。
除了在扩展此基类的每个应用程序范围的 bean 上使用 instanceof 之外,有没有办法知道对象 this 是否是应用程序范围的 bean?
【问题讨论】:
-
如果 bean 存储在
ServletContext中,那么它是应用程序范围的,否则不是。 -
您可能需要清楚地充实您的场景 - CDI 提供了强大的 bean 元数据查找机制;或者您可以像@LuiggiMendoza 推荐的那样进行上下文查找 - 取决于您的场景以及您希望它看起来有多“干净”
标签: jsf jsf-2 javabeans cdi managed-bean