EJB bean可以实现多个接口吗?

use*_*651 7 java interface javabeans ejb-3.1

EJB bean是否可以实现多个用户定义的接口,除了业务接口(@ Local,@ Remote)或No-Interface视图(@LocalBean)?

例如,定义两个接口UserInterface1,UserInterface2没有注释.

这是合法的实施:

@Stateless
public class MyBean implements UserInterface1, UserInterface2 { ...
Run Code Online (Sandbox Code Playgroud)

然后我又有另一个困惑:

@Stateless
public class MyBean implements Runnable { ...
//inside I won't try to manage thread
}
Run Code Online (Sandbox Code Playgroud)

这是合法的还是非法的,我发现glassfish支持这种情况.

Arj*_*jms 6

给出的示例是非法的,但仍然被相当一些实现(应用程序服务器)所接受.

不久前,David Blevins 在EJB邮件列表上开始讨论这个问题.

EJB 3.2将使该主题的规则更加清晰.请参阅EJB 3.2中的新增内容? - Java EE 7一起玩!(查找部分简化规则以定义bean的所有本地/远程视图)

  • 答案很好,虽然它没有回答我要回答的主题问题,"是的,EJB可以实现多个接口,但在这种情况下,您必须使用`@ Local"明确指定哪些接口是业务接口或者ejb-jar.xml". (3认同)