déclarer un EJB3

Declaration by annotation of a remote EJB

 

@Stateless
@Remote
public class MonEJBDistantImpl implements MonEJB{
    public maMethode(){
    }
}

Declaration by annotation of a local EJB

@Stateless
@Local -- par défaut local
public class MonEJBLocalImpl implements MonEJB {
    public maMethode(){
    }
}

L’annotation Stateless possède plusieurs attributs facultatifs qui permettent de péciser l’identitité du bean que l’on va créer:
– description : …
– name : le nom du bean. Par défaut, c’est le nom non qualifié de la classe : Ici, c’est donc ContactSFBean
– mappedName : A product specific name(e.g. global JNDI name) that this session bean should be mapped to. Application servers are not required to support any particular form or type of mapped name, nor the ability to use mapped names. The mapped name is product-dependent and often installation-dependent. No use of a mapped name is portable.

L’annotation Remote possède un attribut facultatif :
– value : liste des interfaces distantes implémentées par le bean

EJB 3 Hint with WEBLOGIC 11 and 12

Cas d’utilisation sans chemin JNDI pour récupérer l’EJB :

– Si on déclare l’EJB de type local (par défaut si on met rien), il n’y aura pas de création de chemin et non JNDI pour l’EJB.
– Si on déclare l’EJB de type remote sans autre élément de configuration JNDI, il y aura un chemin JNDI créé pour l’EJB mais non utilisable pour faire des Lookup

Cas d’utilisation avec chemin JNDI pour récupérer l’EJB :

– Si on déclare l’EJB de type remote et qu’on configure notre classe EJB avec l’annotation « mappedName », on obtient le non jndi suivant pour l’EJB : mappedName#nomPackageInterfaceEJB.nomInterfaceEJB
– Si on utilise le fichier de configuration d’EJB de Weblogic (weblogic-ejb-jar.xml), on peut avoir un nom JNDI plus flexible et plus portable pour notre EJB

Ce contenu a été publié dans Non classé. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *