在用EJB3.0 API進(jìn)行設(shè)計(jì)的時(shí)候,開發(fā)者主要使用企業(yè)bean作為主要的設(shè)計(jì)結(jié)構(gòu).
企業(yè)bean類的bean類型必須被聲明.可以用元數(shù)據(jù)注釋,也可以用部署描述符.
在EJB3.0 API下,企業(yè)bean的業(yè)務(wù)接口是普通的java接口,而不是EJBObject或者EJBLocalObject接口.
Session beans和 message-driven beans需要一個(gè)業(yè)務(wù)接口.一個(gè)message-driven bean的業(yè)務(wù)接口一般是通過被使用的消息類型來定義的(比如:javax.jms.MessageListener in the case of JMS).業(yè)務(wù)接口是不能用來為實(shí)體bean定義的.
這個(gè)bean必須實(shí)現(xiàn)它的業(yè)務(wù)接口.它可能有不止一個(gè)業(yè)務(wù)接口.規(guī)則如下:
如果一個(gè)bean實(shí)現(xiàn)了一個(gè)單一的接口,而這個(gè)接口又假設(shè)是這個(gè)bean的業(yè)務(wù)接口.這個(gè)業(yè)務(wù)接口將是一個(gè)本地接口,除非這個(gè)接口被通過在bean或接口上用Remote標(biāo)記注釋或通過部署注釋符來定義成遠(yuǎn)端接口.
一個(gè)bean被允許有多于一個(gè)的接口,如果一個(gè)bean有多于一個(gè)的接口-除去下面列舉的接口:任何bean的業(yè)務(wù)接口必須通過在bean或者接口用Remote或Local注釋或者通過部署描述符來明確指定一個(gè)業(yè)務(wù)接口.
當(dāng)考慮一個(gè)bean是否有多于一個(gè)接口的時(shí)候,下面接口將被排除:java.io.Serializable,java.io.externalizable以及任何被javax.ejb包定義的接口.
一個(gè)業(yè)務(wù)接口不需要擴(kuò)展javax.ejb.EJBObject或者javaxejb.EJBLocalObject.
企業(yè)bean類的bean類型必須被聲明.可以用元數(shù)據(jù)注釋,也可以用部署描述符.
在EJB3.0 API下,企業(yè)bean的業(yè)務(wù)接口是普通的java接口,而不是EJBObject或者EJBLocalObject接口.
Session beans和 message-driven beans需要一個(gè)業(yè)務(wù)接口.一個(gè)message-driven bean的業(yè)務(wù)接口一般是通過被使用的消息類型來定義的(比如:javax.jms.MessageListener in the case of JMS).業(yè)務(wù)接口是不能用來為實(shí)體bean定義的.
這個(gè)bean必須實(shí)現(xiàn)它的業(yè)務(wù)接口.它可能有不止一個(gè)業(yè)務(wù)接口.規(guī)則如下:
如果一個(gè)bean實(shí)現(xiàn)了一個(gè)單一的接口,而這個(gè)接口又假設(shè)是這個(gè)bean的業(yè)務(wù)接口.這個(gè)業(yè)務(wù)接口將是一個(gè)本地接口,除非這個(gè)接口被通過在bean或接口上用Remote標(biāo)記注釋或通過部署注釋符來定義成遠(yuǎn)端接口.
一個(gè)bean被允許有多于一個(gè)的接口,如果一個(gè)bean有多于一個(gè)的接口-除去下面列舉的接口:任何bean的業(yè)務(wù)接口必須通過在bean或者接口用Remote或Local注釋或者通過部署描述符來明確指定一個(gè)業(yè)務(wù)接口.
當(dāng)考慮一個(gè)bean是否有多于一個(gè)接口的時(shí)候,下面接口將被排除:java.io.Serializable,java.io.externalizable以及任何被javax.ejb包定義的接口.
一個(gè)業(yè)務(wù)接口不需要擴(kuò)展javax.ejb.EJBObject或者javaxejb.EJBLocalObject.