[jboss-user] [EJB 3.0] - Injecting an EJB into a Servlet
javidjamae
do-not-reply at jboss.com
Tue Oct 7 23:53:50 EDT 2008
I'm trying to inject an EJB into a Servlet in JBoss 5 CR2. I have an ear called video.ear. The ear has a video.war, video.jar, and video.har in it (though the har should be irrelevant).
The binding
Here is my Servlet Code:
| public class VideoServlet extends HttpServlet {
| @EJB(mappedName="video/VideoServiceImpl/local")
| private VideoService videoService;
|
I'm not sure if I have to put the "mappedName" on there, but I tried it without and it didn't work.
My web.xml has the correct schema:
| <web-app xmlns="http://java.sun.com/xml/ns/javaee"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
| version="2.5">
|
I noticed I had this in the log
| 22:46:34,065 WARN [MappedReferenceMetaDataResolverDeployer] Unresolved references exist in JBossWebMetaData:[video.war#web-app:AnnotatedEJBReferenceMetaData{name=videoService,ejb-ref-type=null,link=null,ignore-dependecy=false,mapped/jndi-name=video/VideoServiceImpl/local,resolved-jndi-name=null,beanInterface=interface
| com.manning.jbia.hibernateinjection.VideoService}]
| .
| .
| .
| 22:46:42,237 INFO [TomcatDeployment] deploy, ctxPath=/video, vfsUrl=video.ear/video.war
|
When I try to access the servlet, I get:
| 22:49:54,654 INFO [[/video]] Marking servlet Video as unavailable
| 22:49:54,654 ERROR [[Video]] Allocate exception for servlet Video
| javax.naming.NameNotFoundException: video not bound
| at org.jnp.server.NamingServer.getBinding(NamingServer.java:564)
| at org.jnp.server.NamingServer.getBinding(NamingServer.java:572)
| at org.jnp.server.NamingServer.getObject(NamingServer.java:578)
| at org.jnp.server.NamingServer.lookup(NamingServer.java:288)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:669)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:629)
| at javax.naming.InitialContext.lookup(InitialContext.java:351)
| at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1251)
|
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:760)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:629)
| at org.jboss.ejb3.JndiUtil.lookup(JndiUtil.java:44)
| at org.jboss.injection.JndiPropertyInjector.lookup(JndiPropertyInjector.
| java:75)
| at org.jboss.injection.JndiPropertyInjector.inject(JndiPropertyInjector.
| java:99)
| at org.jboss.web.tomcat.service.TomcatInjectionContainer.processInjector
| s(TomcatInjectionContainer.java:361)
| at org.jboss.web.tomcat.service.TomcatInjectionContainer.newInstance(Tom
| catInjectionContainer.java:244)
| at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.
| java:1006)
| at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.jav
| a:777)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
| alve.java:129)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
| alve.java:191)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit
| yAssociationValve.java:189)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv
| e.java:91)
| at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invok
| e(SecurityContextEstablishmentValve.java:92)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
| ava:127)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
| ava:102)
| at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedC
| onnectionValve.java:157)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
| ve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
| a:325)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
| :828)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
| ss(Http11Protocol.java:601)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
| 7)
| at java.lang.Thread.run(Thread.java:595)
|
Any ideas?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4180916#4180916
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4180916
More information about the jboss-user
mailing list