Frage

Ich versuche JNDI zu verwenden, um eine neue Stateful Session Bean in einem Servlet (als lokale Variable) zu erhalten. Meine doGet() Methode hat die folgende:

Bean bean = (Bean) new InitialContext().lookup("beanName");

Ich habe versucht, java:comp/env einschließlich, aber alle meine Versuche haben dazu geführt, Ausnahmen zu nennen.

Ich versuche, die Bohne in der @Stateful Anmerkung zu binden, verschiedene Vermutungen wie @Stateful(name="beanName") und @Stateful(mappedName="beanName") mit

War es hilfreich?

Lösung

Was ich brauchte, war die @EJB Anmerkung auf dem Servlet auf Klassenebene zu verwenden, wie folgt:

@EJB(name="beanName", beanInterface = Bean.class)

Nachschlagen dann in der Service-Methode kann durch die @EJB Anmerkung gebunden mit dem Namen geschehen:

Bean beanInstance = (Bean) new InitialContext().lookup("java:comp/env/beanName");

Es gibt keine Notwendigkeit für irgendetwas in der Bean-Klasse selbst, andere als die Ebene @Stateful Anmerkung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top