Reflection EJB中是否允许反射?

Reflection EJB中是否允许反射?,reflection,ejb,ejb-3.0,ejb-3.1,ejb-3.2,Reflection,Ejb,Ejb 3.0,Ejb 3.1,Ejb 3.2,我想知道,在EJB(EJB3.x)中允许使用反射的哪些部分,不鼓励使用哪些部分,禁止使用哪些部分 [编辑]我一般说的是不同EJB类型上的getMethod()、method.invoke()等内容,所以没有JavaPOJO内容 我搜索了EJB核心规范,但没有找到关于它的真正提示 我个人认为,避免在框架之外使用反射是一种很好的编程风格,但问题是,标准允许哪些部分 提前谢谢 您看过规范EJB3.1在第21.2.2点中所说的吗 企业bean不能试图查询类以获取关于声明的类的信息 由于安全规则,企业be

我想知道,在EJB(EJB3.x)中允许使用反射的哪些部分,不鼓励使用哪些部分,禁止使用哪些部分

[编辑]我一般说的是不同EJB类型上的getMethod()、method.invoke()等内容,所以没有JavaPOJO内容

我搜索了EJB核心规范,但没有找到关于它的真正提示

我个人认为,避免在框架之外使用反射是一种很好的编程风格,但问题是,标准允许哪些部分


提前谢谢

您看过规范EJB3.1在第21.2.2点中所说的吗

企业bean不能试图查询类以获取关于声明的类的信息 由于安全规则,企业bean无法访问的成员 是Java语言的一部分。企业bean不得尝试使用反射API来访问 Java编程语言的安全规则使其不可用的信息


所以一般来说,您不应该违反语言定义的安全规则。

这个问题并不具体。在EJB中的什么上下文下?因为ejb会话bean中使用的第三方库可能会使用反射。但是,对ejb会话bean本身执行反射调用当然不是一个好主意,因为ejb容器如何提供对bean的引用取决于实现,一些使用代理,一些从您自己的会话bean继承。作为提示,我详细说明了我的问题。我的意思是在EJB类型上使用反射。我发现了一个。我曾经了解到,一般来说,在EJB上禁止使用反射,但这并不包括在内。这意味着只要方法是公共的,EJB代理上的method.invoke()就可以了,对吗?