JNDI a ENC

0

Witam,
Czy mógłby mi ktoś wytlumaczyć różnicę pomiędzy JNDI a ENC, tzn czasami w literaturze spotykam się z:

  1. java:comp/env/
    a czasami z:
  2. ejb/JakasNazwa
0

Nie o to mi chodziło a twoja odpodziedź była bardziej zbywalna niż konkretna, chodzi mi o to czy można zamiennie stosować java:comp/env/ lub ejb/JakasNazwa czy jest to mój błąd podczas czytania czy może coś innego. Chodzi mi o proste wytłumaczenie typu: to używamy gdy... a to gdy... itp

I przy okazji zapytam się... co umieszczamy w pliku persistance.xml a co w ejb-jar.xml ? Czy są jeszcze jakieś używane pliku deskryptory ? (jeste jeszcze orm.xml ale ten wiem dokładnie do czego słuzy)

Chciałem tym pytaniem ugruntować swoją wiedzę więc z góry dzięki

0

Jeśli uważasz że podany przeze mnie link nie dał ci odpowiedzi to znaczy że albo nie przeczytałeś, albo nie rozumiesz...

You can easily change Datasource, EJB without code modification.
For example:

  • you want to change datasource for your application, thanks to ENC JNDI you
    can do it without modifing code and recompiling, just edit xml file,
  • you can write complete EJB and test it without complete design of whole
    application (you don't have to know exact JNDI name of EJB),
  • it's easy to write GUI application for configuring J2EE applications -
    everything is in XML files not in code,
  • and many, many, other reasons.

W persistance.xml umieszasz informacje o mapowaniu ORM z użyciem JPA.
W deskryptorze ejb umieszczasz informacje o beanach (chociaż w EJB 3.0 robi się to raczej adnotacjami)
Tak, deskryptorów może być więcej. Aplikacje webowe mają web.xml, JSF ma faces-config.xml, Spring ma applicationContext.xml, Hibernate ma swojego konfiga...

0
sebastianWAWI napisał(a):

Witam,
Czy mógłby mi ktoś wytlumaczyć różnicę pomiędzy JNDI a ENC, tzn czasami w literaturze spotykam się z:

  1. java:comp/env/
    a czasami z:
  2. ejb/JakasNazwa

Domyslnie uzywany jest prefix 'java:comp', specyfikacja Java EE 6 podaje kilka konwencji (ale nie sa wymuszone):

  1. zmienne srodowiskowe: java:comp/env (od envorinment)
  2. EJB: java:comp/ejb
  3. PersistenceUnit: java:comp/persistence
    ... itd.

Gdy nie ma zadnego prefiksu, java:comp jest uzywany z defaulta. Z tego wynika, ze Twoj 2. przyklad tak naprawde to 'java:comp/ejb/JakasNazwa', czyli zakladam ze jest to EJB o nazwie JakasNazwa, zgodnie z konwencjami.

0

Dzieki wielki, wyczerpaliście temat w 100% - cofam wcześniejszą opinie :) dzieki

1 użytkowników online, w tym zalogowanych: 0, gości: 1