我正在研究字节码分析项目。我正在使用ASM库。对于其中一个要求,我需要确定.class是EJB还是非EJB。由于EJB有各种版本,我们试图尽可能地将逻辑编写为傻瓜,并且问题可能会感到奇怪。我很清楚它可能无法完全自动化。我试图大致遵循这些步骤:
对于EJB 2.x
EJBHome
,EJBLocalHome
等ejbActivate()
,ejbPassivate()
,ejbRemove()
SessionBean
接口。等等
对于EJB 3.x
@Stateless
之类的注释来检查它是否是无状态bean @Stateful
以检查它是否是有状态bean。@Remote
注释等等。
这些是我想要检查.class
是否是EJB的一些方法。我的问题是,有没有其他方法来检查是否有任何类是EJB,我的意思是我错过了任何重要的事情?请注意,我在EJB方面没有太多经验。
ASM库是否有可能提供此选项?