Utilizaţi legările WebSphere pentru a defini numele JNDI pentru bean-urile controlate de mesaje

message-driven-descriptor configurează destinaţia ascultătorului de mesaje. O referinţă de destinaţie mesaj este un nume logic utilizat pentru localiza un bean enterprise dintr-un modul EJB care acţionează ca destinaţie a mesajului. Referinţele de destinaţie mesaj există doar în J2EE 1.4 şi artfecactele ulterioare, cum ar fi:

Dacă mai multe referinţe de destinaţie mesaj sunt asociate cu o singură legătură de destinaţie mesaj, atunci este colectat în timpul implementării un singur nume JNDI pentru un bean enterprise care mapează la legătura de destinaţie mesaj, şi prin aceasta la toate referinţele de destinaţie mesaje legate. La momentul rulării, referinţele de destinaţie mesaj sunt legate la destinaţiile de mesaj administrate în mediul operaţional ţintă. Dacă o referinţă de destinaţie mesaj şi un bean controlat de mesaj sunt legate de aceeaşi destinaţie de mesaj, ambele, referinţa şi bean-ul, trebuie să aibă acelaşi nume JNDI de destinaţie. Când ambele au acelaşi nume, doar numele JNDI de destinaţie pentru bean-ul controlat de mesaj este colectat şi aplicat referinţei de destinaţie mesaj corespunzătoare. Dacă o persoană responsabilă cu implemetarea alege să genereze legările implicite la instalarea aplicaţiei, vrăjitorul de instalare atribuie nume JNDI la următoarele referinţe de destinaţii mesaj incomplete.
În cazul în care o referință de destinație mesaj are un < mesaj-destinație-link>, atunci numele JNDI este setat la ejs/message-destination-linkName În caz contrar, numele JNDI este setat la eis/message-destination-refName .

Această regulă detectează numele JNDI de destinaţie pentru bean-urile controlate de mesaj. O soluție automată va copia numele JNDI de destinație din weblogic-ejb-jar.xml în fișierul WebSphere(R ) Application Server fișier bindings. Cu toate acestea, remedierea automată nu va seta numele JNDI ActivationSpec și nu va migra proprietățile de configurare a activării în ejb-jar.xml.

Soluţie manuală pentru Liberty


Soluţii manuale pentru WebSphere tradiţional

Un dezvoltator de aplicaţii poate crea definiţii de legare în fişiere ibm-xxx-bnd.xml pentru module EJB 3.0 şi Web 2.5 şi în fişiere ibm-xxx-bnd.xmi pentru modulele care au existat înainte de Java(R) Platform, Enterprise Edition (Java EE) 5. Dezvoltatorul de aplicaţii poate crea fişierele utilizând o unealtă precum unealta dezvoltatorului IBM(R) Rational(R) sau, pentru module EJB 3.0 sau Web 2.5, utilizând un editor XML sau un editor de text. Dezvoltatorul furnizează apoi o aplicaţie de întreprindere (.ear file) care este completată cu legări la un asamblor sau implementator de aplicaţii. La asamblarea aplicaţiei, asamblorul nu modifică legările. Similar, la instalarea aplicaţiei pe un server suportat de WebSphere Application Server, implementatorul nu modifică sau suprascrie legările sau generează legări implicite decât dacă sunt necesare modificări la legări pentru implementarea cu succes a aplicaţiei.

Pentru a face modificările necesare în Rational Application Developer pentru bean-uri EJB 2.1, finalizaţi următoarele acţiuni:
  1. Porniţi unealta de asamblare, Rational Application Developer.
  2. Deschideţi EJB Project corect.
  3. Faceţi dublu-clic pe descriptorul de implementare.
  4. Faceţi clic pe bean-ul controlat de mesaj corect.
  5. Defilaţi în jos către secţiunea Legări WebSphere
  6. Selectaţi caseta de bifare JCA Adaptor şi introduceţi numele JNDI ActivationSpec.


Pentru a face modificările necesare în consola administrativă pentru bean-urile EJB 2.0, finalizaţi următoarele acţiuni: Rational Application Developer Versiunea 7.0 nu suportă setarea specificărilor de activare EJB 2.1 pentru bean-urile EJB 2.0. Puteţi seta specificaţiile de activare EJB 2.1 numai pentru bean-uri EJB 2.1.
  1. Setaţi specificaţia de activare pentru MDB folosind consola administrativă când implementaţi aplicaţia la WebSphere Application Server.
  2. Exportaţi fişierul EAR pentru aplicaţie de la consola administrativă.
  3. Copiaţi descriptorul de implementare din fişierul EAR în proiect astfel încât să aibă specificaţia de activare corectă.

Definirea legărilor în timpul asamblării aplicaţiei

Un asamblor de aplicaţii poate defini legările din adnotări sau descriptorii de implementare ai unei aplicaţii. Modulele Java EE 5 conţin adnotări în codul sursă. Pentru a declara o adnotare, un asamblor de aplicaţii pune în faţa unui cuvânt cheie caracterul @. Legările pentru module pre-Java EE 5 sunt specificate în secţiunea Legări WebSphere a editorului de descriptor de implementare. Modificarea descriptorului de implementare poate modifica definiţiile de legare în fişierele de legări care sunt create la dezvoltarea unei aplicaţii. După definirea legărilor, asamblorul dă aplicaţia către un dezvoltator. La instalarea aplicaţiei pe un server suportat de WebSphere Application Server, dezvoltatorul nu modifică sau suprascrie legări sau generează legări implicite decât dacă sunt necesare modificări la legări pentru implementarea aplicaţiei.


Definirea legărilor în timpul instalării aplicaţiei

Un implementator de aplicaţii sau un administrator de server poate modifica legările la instalarea aplicaţiei pe un server suportat de WebSphere Application Server folosind consola administrativă. Noile definiţii de legări pot fi specificate pe paginile vrăjitorului de instalare.
De asemenea, un implementator sau un administrator pot selecta să genereze legări implicite în timpul instalării aplicaţiei. Alegerea de a genera legări implicite în timpul instalării aplicaţiei dă instrucţiuni produsului să completeze legările din aplicaţie cu valori implicite. Legările existente nu sunt modificate.
Restricţie: Nu puteţi defini sau înlocui legări în timpul instalării aplicaţiei pentru clienţii aplicaţiilor. Trebuie să definiţi legări pentru modulele clienţilor aplicaţiilor în timpul asamblării şi stocării legărilor în fişierul de legări.


Definirea legărilor în timpul configurării unei instalări a aplicaţiei

După ce este instalată o aplicaţie pe un server suportat de WebSphere Application Server, un implementator de aplicaţii sau administrator de server poate modifica legările prin schimbarea valorilor din paginile consolei administrative cum ar fi cele accesate din pagina de setări pentru aplicaţia de întreprindere.