În Liberty înainte de versiunea 20.0.0.12, bean-urile EJB (Enterprise JavaBeans) au fost legate doar de spaţiul de nume java:[scope]. Bean-urile EJB nu au fost legate la un spaţiu de nume JNDI (Java Naming and Directory
Interface), ceea ce înseamnă că nu aţi putut defini numele de legare
JNDI. Atributele legărilor EJB care vă permit să specificaţi numele JNDI în WebSphere Application Server tradiţional au fost ignorate în Liberty.
Următoarele atribute de legare EJB din fişierul ibm-ejb-jar-bnd.xml au fost ignorate în Liberty.
session simple-binding-namesession component-idsession local-home-binding-namesession remote-home-binding-nameinterface binding-nameUrmătoarele atribute de legare EJB din fişierul ibm-ejb-jar-bnd.xmi au fost ignorate în Liberty.
ejbBindings jndiNameAceastă regulă semnalează toate numele de legare JNDI care au fost ignorate în Liberty înainte de 20.0.0.12. Dacă aplicaţia dumneavoastră utilizează aceste nume în căutări JNDI directe mai degrabă decât utilizarea referinţelor EJB, trebuie să utilizaţi Liberty versiunea 20.0.0.12 sau mai nouă sau să vă modificaţi aplicaţia.
Dacă utilizaţi referinţe EJB, regula
Modificare de comportament la căutările pentru Enterprise
JavaBeans în versiunile anterioare de Liberty semnalează orice nume JNDI
care trebuie să fie convertit la spaţiul de nume java: dacă se
foloseşte o versiune de Liberty mai veche de 20.0.0.12.
Dacă nu utilizaţi referinţe EJB şi utilizaţi o versiune de Liberty mai
veche de 20.0.0.12, este recomandat să utilizaţi o versiune mai nouă de Liberty
sau să creaţi o referinţă EJB folosind acelaşi nume JNDI şi să setaţi referinţa
EJB binding-name la numele JNDI :[java:scope]. Dacă nu adăugaţi o referinţă EJB,
trebuie să vă scanaţi codul Java pentru utilizarea acestor nume JNDI şi să convertiţi
numele de căutare la numele JNDI java:.
Următorul exemplu creează o referinţă EJB pentru a vă ajuta să migraţi orice probleme de căutare dacă nu utilizaţi Liberty versiunea 20..0.0.12 sau mai nouă.
EJB referit:
Interfaţă la distanţă:
Următoarele sunt exemple de declarare a unei referinţe EJB în Liberty. Pentru a lega cu succes un EJB cu referinţa sa, este necesară fie 1a, fie 1b, împreună cu 2a, 2b, 3a sau 3b. De exemplu, opţiunile recomandate sunt 1a şi 2b pentru a realiza cu succes o setare uşoară, dar, dacă este declarată 1b împreună cu 3b, veţi obţine aceeaşi funcţionalitate ca la setarea recomandată.
beanName trebuie adăugat la adnotarea @EJB. Dacă se utilizează un ejb-jar.xml sau web.xml, elementul <ejb-link> trebuie adăugat la elementul existent <ejb-ref> element existent. Modificările la 1a şi 1b sunt arătate aici:lookup la adnotarea @EJB. Dacă utilizați un fișier ejb-jar.xml sau web.xml, elementul <lookup-name> trebuie adăugat la elementul <ejb-ref> existent. Modificările la 1a şi 1b sunt arătate aici:
lookup, lookup-name sau binding-name pentru referirea
EJB-urilor din aceeaşi aplicaţie. În acest caz, valoarea poate fi setată la orice căutare EJB directă aplicabilă descrisă la sfârşitul
acestei pagini.
Următoarea este căutarea de referinţă EJB finală:
Sau, există trei opţiuni pentru a căuta un EJB direct, fără a utiliza o referinţă EJB:
Pentru mai multe informaţii despre folosirea legărilor EJB, vedeţi Utilizarea bean-urilor Java enterprise cu interfeţe la distanţă pe Liberty şi Privire generală asupra legărilor aplicaţiilor EJB 3.0 şi EJB 3.1.