[seam-issues] [JBoss JIRA] Resolved: (SEAM-40) seam-booking does not work correctly with Glassfish 3.1

Dan Allen (JIRA) jira-events at lists.jboss.org
Sat Mar 19 19:11:45 EDT 2011


     [ https://issues.jboss.org/browse/SEAM-40?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Allen resolved SEAM-40.
---------------------------

    Resolution: Done


These problems have been resolved. However, please note that there are two outstanding issues that appear to be bugs in GlassFish 3.1:

1. interceptors don't get enabled on every deployment; it appears random; you'll notice when they aren't because the footer will report the conversation is transient on the hotel detail page

2. input elements inside composite components don't see their parent form, even though it is there and the form works; you get an error message which displays above the form when this happens

> seam-booking does not work correctly with Glassfish 3.1
> -------------------------------------------------------
>
>                 Key: SEAM-40
>                 URL: https://issues.jboss.org/browse/SEAM-40
>             Project: Seam 3
>          Issue Type: Bug
>          Components: Shared Examples
>         Environment: Affects Seam 3 CR2
>            Reporter: Martin Gencur
>            Assignee: Dan Allen
>             Fix For: 3.0.0.Final
>
>
> I was able to deploy the application using the following steps but the application does not work correctly.
> 0. See http://seamframework.org/Community/SeamFacesPersistenceServletCatchProduceNullPointerException discussion for more details, as those issues appear to apply also to the CR2
> 1. add the line
> <jvm-options>-Djboss.i18n.generate-proxies=true</jvm-options>
>    to glassfish3/glassfish/domains/domain1/config/domain.xml to the existing <java-config> element inside the <config name="server-config"> element
> 2. replace weld-osgi-bundle.jar in glassfish3/glassfish/modules/ with the one from http://java.net/jira/browse/GLASSFISH-15721
> 3. uncomment these lines in src/main/resources/META-INF/persistence.xml:
> <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
> <property name="eclipselink.logging.level" value="FINE"/>
> 4. package the application: "mvn clean package"
> 5. remove or comment out the following lines from in target/seam-booking.war/WEB-INF/lib/seam-servlet-3.0.0.CR1.jar/META-INF/web-fragment.xml:
> <ordering>
>    <after>
>      <name>WeldServlet</name>
>    </after>
>    <before>
>      <others/>
>    </before>
> </ordering>
> 6. install Hibernate into Glassfish according to what is written in readme.txt in the example's folder
> 7. start a database and glassfish itself:
>  $GLASSFISH_HOME/bin/asadmin start-database
>  $GLASSFISH_HOME/bin/asadmin start-domain domain1
> 8. deploy the app via Glassfish admin console
> Now it is possible to login, change my accounts/passwords/ logout, search for hotels, but when I try to show some hotel's details I get this exception:
> [#|2011-03-10T13:55:06.073+0100|SEVERE|glassfish3.1|javax.enterprise.resource.webcontainer.jsf.application|_ThreadID=31;_ThreadName=Thread-1;|Error Rendering View[/hotel.xhtml]
> javax.faces.FacesException: javax.el.ELException: /resources/components/model/displayHotel.xhtml @15,62 value="#{cc.attrs.value.name}": org.jboss.weld.exceptions.IllegalProductException: WELD-000052 Cannot return null from a non-dependent producer method:  [method] @Produces @RequestScoped @Named public org.jboss.seam.examples.booking.booking.BookingAgent.getSelectedHotel()
> 	at javax.faces.component.UIComponentBase$AttributesMap.get(UIComponentBase.java:2360)
> 	at com.sun.faces.el.CompositeComponentAttributesELResolver$ExpressionEvalMap.get(CompositeComponentAttributesELResolver.java:345)
> 	at javax.el.MapELResolver.getValue(MapELResolver.java:196)
> 	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
> 	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
> 	at com.sun.el.parser.AstValue.getValue(AstValue.java:116)
> 	at com.sun.el.parser.AstValue.getValue(AstValue.java:163)
> 	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)
> 	at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:55)
> 	at com.sun.faces.facelets.el.ContextualCompositeValueExpression.getValue(ContextualCompositeValueExpression.java:156)
> 	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
> 	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
> 	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
> 	at javax.faces.component.UIOutput.getValue(UIOutput.java:169)
> 	at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
> 	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
> 	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
> 	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
> 	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
> 	at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:105)
> 	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
> 	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
> 	at com.sun.faces.renderkit.html_basic.CompositeRenderer.encodeChildren(CompositeRenderer.java:78)
> 	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
> 	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
> 	at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:105)
> 	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
> 	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
> 	at com.sun.faces.renderkit.html_basic.CompositeRenderer.encodeChildren(CompositeRenderer.java:78)
> 	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
> 	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
> 	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
> 	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
> 	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
> 	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
> 	at com.ocpsoft.pretty.faces.application.PrettyViewHandler.renderView(PrettyViewHandler.java:161)
> 	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
> 	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
> 	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> 	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
> 	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
> 	at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:112)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
> 	at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:785)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:649)
> 	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:483)
> 	at org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:454)
> 	at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:350)
> 	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:300)
> 	at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:103)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
> 	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
> 	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
> 	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
> 	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
> 	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
> 	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
> 	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
> 	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
> 	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
> 	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
> 	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
> 	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
> 	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
> 	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
> 	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
> 	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
> 	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: javax.el.ELException: /resources/components/model/displayHotel.xhtml @15,62 value="#{cc.attrs.value.name}": org.jboss.weld.exceptions.IllegalProductException: WELD-000052 Cannot return null from a non-dependent producer method:  [method] @Produces @RequestScoped @Named public org.jboss.seam.examples.booking.booking.BookingAgent.getSelectedHotel()
> 	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114)
> 	at javax.faces.component.UIComponentBase$AttributesMap.get(UIComponentBase.java:2358)
> 	... 79 more
> Caused by: org.jboss.weld.exceptions.IllegalProductException: WELD-000052 Cannot return null from a non-dependent producer method:  [method] @Produces @RequestScoped @Named public org.jboss.seam.examples.booking.booking.BookingAgent.getSelectedHotel()
> 	at org.jboss.weld.bean.AbstractProducerBean.checkReturnValue(AbstractProducerBean.java:256)
> 	at org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:362)
> 	at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:121)
> 	at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99)
> 	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:87)
> 	at org.jboss.seam.examples.booking.model.org$jboss$weld$beanProducerMethod-org$jboss$seam$examples$booking$booking$BookingAgentmethod_getSelectedHotel()_$$_WeldClientProxy.getName(org$jboss$weld$beanProducerMethod-org$jboss$seam$examples$booking$booking$BookingAgentmethod_getSelectedHotel()_$$_WeldClientProxy.java)
> 	at sun.reflect.GeneratedMethodAccessor614.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at javax.el.BeanELResolver.getValue(BeanELResolver.java:302)
> 	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
> 	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
> 	at com.sun.el.parser.AstValue.getValue(AstValue.java:116)
> 	at com.sun.el.parser.AstValue.getValue(AstValue.java:163)
> 	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)
> 	at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:55)
> 	at com.sun.faces.facelets.el.ContextualCompositeValueExpression.getValue(ContextualCompositeValueExpression.java:156)
> 	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
> 	... 80 more
> Maybe it has something in common with an exception I got during the application deployment (despite this I was able to partially work with the application):
> [#|2011-03-10T13:37:21.896+0100|WARNING|glassfish3.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=92;_ThreadName=Thread-1;|StandardWrapperValve[FacesServlet]: PWC1406: Servlet.service() for servlet FacesServlet threw exception
> org.jboss.seam.solder.beanManager.BeanManagerUnavailableException: Failed to locate BeanManager using any of these providers: 
> 	at org.jboss.seam.solder.beanManager.BeanManagerLocator.getBeanManager(BeanManagerLocator.java:91)
> 	at org.jboss.seam.faces.event.SeamPreNavigationHandler.handleNavigation(SeamPreNavigationHandler.java:42)
> 	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
> 	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
> 	at com.sun.webui.jsf.component.WebuiCommand.broadcast(WebuiCommand.java:166)
> 	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
> 	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
> 	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
> 	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> 	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:409)
> 	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
> 	at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:223)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
> 	at org.apache.catalina.core.StandardPipeline.doChainInvoke(StandardPipeline.java:600)
> 	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
> 	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
> 	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
> 	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:228)
> 	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
> 	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
> 	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
> 	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
> 	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
> 	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
> 	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
> 	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
> 	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
> 	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
> 	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
> 	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
> 	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
> 	at java.lang.Thread.run(Thread.java:619)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the seam-issues mailing list