On Nov 13, 2008, at 9:37 AM, my_forum wrote:
Guys,
Probably this does not relate to Geronimo itself, but to OpenEjb but
this
problem should be common for everybody who uses EJB 3.0 in Geronimo.
So the questions is as follows:
When I make the injection (StatesDAO is interface, StatesDAOBean is an
implementation)
@EJB
private StatesDAO statesDAO;
in the class that extends HttpServlet the injection works file, but
when I'm
trying to use the same code in my test methods (they are in the
Servlet
Container) or in Struts Actions, the injection does not work not work.
As a solution I tried to look up it by JNDI name but Always got
NamingException
new InitialContext().lookup("java:comp/env/StatesDAO")
new InitialContext().lookup("java:comp/env/StatesDAOBean")
new InitialContext().lookup("java:comp/env/myPackage.StatesDAO")
new InitialContext().lookup("java:comp/env/myPackage.StatesDAOBean")
Nothing works.
So the second question is what is a correct JNDI name for my Bean?
openejb-jar.xml does not contain any specific data, so the default
JNDI
names are used.
Thanks in advance!
Injection only works in components that the frameworks know about.
So, servlets are known to the web container, ejbs known to the ejb
container, and jsf beans to the jsf container. However struts is not
an annotation/injection aware framework/container. You could switch
to myfaces if you want to use injection. Or you could inject the
resources into your servlet and pass the references to the struts
components.
To use the java:comp/env jndi context you have to do something so the
components are bound there: for ejbs this is either including a ejb-
ref in web.xml or an @EJB annotation in some servlet in your web app.
If you don't care about the java:comp/env context you can look in the
geronimo log as the ejb app is starting up to see the jndi names the
ejbs are bound under. As Vamsi mentions you can also find these in
the jndi viewer in the admin console.
thanks
david jencks
--
View this message in context:
http://www.nabble.com/%40EJB-3.0-injection-for-non-servlet-components-tp20484988s134p20484988.html
Sent from the Apache Geronimo - Users mailing list archive at
Nabble.com.