ICEfaces
  1. ICEfaces
  2. ICE-8217

@EJB Injection not working on WAS8 with JSF 2.1.3+

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 3.0.1
    • Fix Version/s: None
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      Websphere 8, ICEfaces 3.0.1, EJB 3.0+, Mojarra 2.1.6
    • Assignee Priority:
      P2
    • Salesforce Case Reference:

      Description

      If attached .ear file is deployed on a Websphere 8 server and then accessed via web tier, the following exception will be thrown and application won't work:

      An error occurred performing resource injection on managed bean myBean
      com.sun.faces.mgbean.ManagedBeanCreationException: An error occurred performing resource injection on managed bean myBean
      at com.sun.faces.mgbean.BeanBuilder.invokePostConstruct(BeanBuilder.java:229)
      at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:105)
      at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
      at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
      at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:244)
      at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116)
      at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
      at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
      at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:71)
      at org.apache.el.parser.AstValue.getValue(AstValue.java:147)
      at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:283)
      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.GridRenderer.renderRow(GridRenderer.java:185)
      at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
      at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
      at org.icefaces.ace.renderkit.CoreRenderer.renderChild(CoreRenderer.java:72)
      at org.icefaces.ace.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:60)
      at org.icefaces.ace.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:208)
      at org.icefaces.ace.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:131)
      at org.icefaces.ace.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:71)
      at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
      at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
      at org.icefaces.impl.renderkit.RendererWrapper.encodeChildren(RendererWrapper.java:49)
      at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1757)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
      at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402)
      at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
      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:594)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1147)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:722)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:449)
      at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1020)
      at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1382)
      at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:191)
      at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:648)
      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1020)
      at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3639)
      at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:950)
      at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1659)
      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:276)
      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
      at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
      at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
      at com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205)
      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1648)
      Caused by: com.sun.faces.spi.InjectionProviderException
      at com.sun.faces.vendor.WebContainerInjectionProvider.invokeAnnotatedMethod(WebContainerInjectionProvider.java:119)
      at com.sun.faces.vendor.WebContainerInjectionProvider.invokePostConstruct(WebContainerInjectionProvider.java:99)
      at com.sun.faces.mgbean.BeanBuilder.invokePostConstruct(BeanBuilder.java:223)
      ... 65 more
      Caused by: java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
      at java.lang.reflect.Method.invoke(Method.java:611)
      at com.sun.faces.vendor.WebContainerInjectionProvider.invokeAnnotatedMethod(WebContainerInjectionProvider.java:117)
      ... 67 more
      Caused by: java.lang.NullPointerException
      at sampleBeans.MyBean.init(MyBean.java:33)
      ... 72 more


      Resources used during deployment process:
      1. http://wiki.icesoft.com/display/IFEE2/WebSphere+Application+Server+8#WebSphereApplicationServer8-StandAlone
      2. http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=%2Fcom.ibm.websphere.nd.multiplatform.doc%2Finfo%2Fae%2Fae%2Ftrun_app_install_default.html&resultof=%22ear%22%20

      NOTES:

      1. Provided app will work without any problems on Glassfish 3.1
      2. It will also work if instead of Mojarra libraries we will use default Myfaces 2.0.2 library which come pre-bundled with WAS8
      3. I did not tested application with ICEfaces EE 3.0 libraries due to the ICE-8211

        Issue Links

          Activity

          Hide
          Jack Van Ooststroom added a comment -

          IBM WebSphere Application Server 8.x ships with MyFaces 2.0.x out of the box. ICEfaces 3 requires either MyFaces 2.1.x or Mojarra 2.1.x. Currently we only support Mojarra 2.1.x on WAS8, but when using Mojarra 2.1.x with the attached sample application WAS8's JCDI complains it doesn't support the used JSF implementation (Mojarra 2.1.x). This seems to be a check done by WAS8 and not OpenWebBeans. We should revisit the option of supporting MyFaces 2.1.x on WAS8 which could solve this issue.

          Show
          Jack Van Ooststroom added a comment - IBM WebSphere Application Server 8.x ships with MyFaces 2.0.x out of the box. ICEfaces 3 requires either MyFaces 2.1.x or Mojarra 2.1.x. Currently we only support Mojarra 2.1.x on WAS8, but when using Mojarra 2.1.x with the attached sample application WAS8's JCDI complains it doesn't support the used JSF implementation (Mojarra 2.1.x). This seems to be a check done by WAS8 and not OpenWebBeans. We should revisit the option of supporting MyFaces 2.1.x on WAS8 which could solve this issue.

            People

            • Assignee:
              Jack Van Ooststroom
              Reporter:
              Evgheni Sadovoi
            • Votes:
              2 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: