[jboss-user] [EJB 3.0] - PersistenceContext injection into a JSF-technology managed-b
tswall
do-not-reply at jboss.com
Tue Dec 12 15:28:39 EST 2006
I have tried to inject a PersistenceContext into a JSF managed bean POJO as is outlined here. The backing bean is as follows:
package net.epweb.jsf.backing;
|
| import javax.persistence.EntityManager;
| import javax.persistence.PersistenceContext;
|
| import net.epweb.ejb.entity.*;
|
| public class Eraseme {
|
| private @PersistenceContext(unitName = "lynxManager") EntityManager em;
|
| private String lastName;
| private String firstName;
|
| public String getLastName() {
| return lastName;
| }
| public void setLastName(String lastName) {
| this.lastName = lastName;
| }
|
| public String getFirstName() {
| return firstName;
| }
| public void setFirstName(String firstName) {
| this.firstName = firstName;
| }
|
| public String createPatient() {
| Patient p = new Patient();
| System.out.println("Create patient");
| System.out.println(p);
| p.setLastName(lastName);
| p.setFirstName(firstName);
| System.out.print("Entity manager: ");
| System.out.println(em.toString());
| em.persist(p);
| return "success";
| }
| }
|
The managed bean is confidured as follows:
| <managed-bean>
| <managed-bean-name>eraseme</managed-bean-name>
| <managed-bean-class>net.epweb.jsf.backing.Eraseme</managed-bean-class>
| <managed-bean-scope>application</managed-bean-scope>
| </managed-bean>
|
When the JSF page that references the managed bean is referenced JBoss5.0 fails with the following stack trace:
| 12:51:09,301 ERROR [JBossInjectionProvider] Injection failed on managed bean.
| javax.naming.NameNotFoundException: net.epweb.jsf.backing.Eraseme not bound
| at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
| at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
| at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
| at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:628)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:590)
| at javax.naming.InitialContext.lookup(InitialContext.java:351)
| at org.apache.catalina.util.DefaultAnnotationProcessor.lookupFieldResource(DefaultAnnotationProcessor.java:203)
| at org.apache.catalina.util.DefaultAnnotationProcessor.processAnnotations(DefaultAnnotationProcessor.java:149)
| at org.jboss.web.jsf.integration.injection.JBossInjectionProvider.inject(JBossInjectionProvider.java:93)
| at com.sun.faces.config.ManagedBeanFactoryImpl.newInstance(ManagedBeanFactoryImpl.java:312)
| at com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:470)
| at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:82)
| at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
| at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:62)
| at com.sun.faces.el.ChainAwareVariableResolver.resolveVariable(ChainAwareVariableResolver.java:96)
| at org.apache.myfaces.trinidadinternal.el.TrinidadVariableResolver.resolveVariable(TrinidadVariableResolver.java:52)
| at com.sun.faces.el.VariableResolverChainWrapper.getValue(VariableResolverChainWrapper.java:93)
| at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
| at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:62)
| at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:45)
| at org.apache.el.parser.AstValue.getValue(AstValue.java:86)
| at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
| at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
| at javax.faces.component.UIOutput.getValue(UIOutput.java:173)
| at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:100)
| at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:279)
| at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:207)
| at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:848)
| at javax.faces.component.UIComponent.encodeAll(UIComponent.java:893)
| at javax.faces.component.UIComponent.encodeAll(UIComponent.java:889)
| at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:271)
| at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:182)
| at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:178)
| at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:171)
| at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:133)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244)
| at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:327)
| at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:291)
| at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:214)
| at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:90)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:86)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:818)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:624)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
| at java.lang.Thread.run(Thread.java:613)
|
I have spent several hours trying to sort out why this is not working, but cannot get anywhere. It would appear from the Sun JEE5 spec and JBoss5.0/JSF WIKI that this should be possible. Any thoughts would be VERY much appreciated.
Thanks,
Scott Wall
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3993171#3993171
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3993171
More information about the jboss-user
mailing list