2013-03-10 11 views
5

Sto utilizzando EJB 3.1 nella mia applicazione.Come trovare il nome di ricerca JNDI di EJB al livello di programmazione?

Desidero inviare un nome di ricerca JNDI di EJB nella mia applicazione a un'altra applicazione in modo che possa utilizzarlo in fase di esecuzione & comunicare con il mio EJB. Poiché il nome di ricerca dipende dal nome dei file ear distribuiti sul contenitore EJB &, il nome di questi file ear cambia ogni volta che vengono apportate modifiche alla mia applicazione.

Qual è la procedura per trovare a livello di codice il nome di ricerca di qualsiasi EJB.

risposta

4

Prima di tutto, non consiglierei questo approccio. Perché non aggiusti i nomi JNDI dei tuoi EJB?

Detto questo, è possibile chiamare un metodo InitialContext#list per scorrere l'albero JNDI e trovare il nome del proprio EJB. C'è un buon esempio di codice here, quindi non lo ripeterò. Una nota importante: chiamare ctx.list("") fornirà solo il primo livello dell'albero JNDI, quindi dovrai chiamare quel metodo in modo ricorsivo per ottenere i nomi EJB. Suggerimento: gli EJB di solito vengono distribuiti sotto il ramo ejb.

Consulta anche:

Problemi correlati