Metoda lookup InitialContext poate returna tipuri primitive

Această regulă semnalează apelurile la metoda javax.naming.InitialContext.lookup unde rezultatul este o transformare (cast) la java.lang.String.

Pe Liberty, metoda lookup javax.naming.InitialContext returnează un obiect al cărui tip este determinat de interpretarea valorii stocate în elementul jndiEntry ca şir Java literal sau ca tip de date primitiv. Dacă eşuează parsarea, este furnizată valoarea exactă ca şir nemodificat. Pe WebSphere tradiţional, tipurile de date primitive sunt returnate ca şiruri.

Este important să înţelegeţi această diferenţă la migrarea configuraţiei dumneavoastră de intrare JNDI de la WebSphere tradiţional la Liberty. De exemplu, dacă aţi configurat o valoare JNDI pentru a fi 100 în WebSphere tradiţional, aplicaţia ar trebui să fie scrisă pentru a trata un şir cu valoarea iniţială "100". În Liberty, dacă aţi configurat o intrare ca următoarea:

<jndiEntry jndiName=myjndi/initialLimit value= ‘100’ />

Liberty va converti acea valoare la o primitivă integer. Pentru ca aplicaţia să funcţioneze în Liberty la fel ca în WebSphere tradiţional, intrarea JNDI ar trebui să fie codată ca:

<jndiEntry jndiName=myjndi/initialLimit value=‘100’ />

Configuraţia Liberty produsă în fişierul server.xml generat de către Migration Toolkit for Application Binaries citează valorile de intrare JNDI pentru a crea valori String, astfel încât aplicaţia să funcţioneze în Liberty la fel ca pe WebSphere tradiţional.

Pentru informaţii suplimentare, vedeţi documentaţia Using JNDI binding for constants from the server configuration files.