2013-03-10 15 views
5

Używam EJB 3.1 w mojej aplikacji.Jak programowo znaleźć nazwę EJB do wyszukiwania JNDI?

Chcę wysłać jedną wyszukiwaną nazwę EJB JNDI w mojej aplikacji do innej aplikacji, aby mogła korzystać z niej w czasie wykonywania & komunikować się z moim EJB. Ponieważ nazwa wyszukiwania zależy od nazwy plików ucha wdrożonych w kontenerze EJB &, nazwa tych plików będzie zmieniać się za każdym razem, gdy zmiany zostaną wprowadzone w mojej aplikacji.

Jaka jest procedura polegająca na programowym wyszukaniu nazwy wyszukiwania dowolnego komponentu EJB.

Odpowiedz

4

Po pierwsze nie polecam takiego podejścia. Dlaczego nie naprawisz nazw JNDI swoich EJB?

Powiedziawszy, możesz wywołać metodę InitialContext#list, aby wykonać iterację w drzewie JNDI i znaleźć nazwę twojego EJB. Jest ładny przykład kodu here, więc go nie powtórzę. Ważna uwaga - wywołanie ctx.list("") da ci tylko pierwszy poziom drzewa JNDI, więc będziesz musiał wywołać tę metodę rekursywnie w celu uzyskania nazw EJB. Podpowiedź: EJB są zwykle wdrażane w ramach oddziału ejb.

Zobacz także:

Powiązane problemy