I have a web application with the following code:
<rich:dataScroller id="id1" for="tableX" execute="tableX" page="#{formBackingBean.navigationHelper.scrollerPage}" render="tableX-sc1 tableY" maxPages="5" scrollListener="#{aBean.handleScrollPage()}" fastControls="hide" />
I use richfaces 4.2.0 final and under JBoss 6 (where I used Mojarra 2.0.3 as JSF implementation) this works fine. I installed the application on JBoss EAP 6 (i.e. Jboss 7) and I get the following exception:
[javax.enterprise.resource.webcontainer.jsf.lifecycle] (http-localhost/127.0.0.1:8080-1) /example/pages/common/myPage.xhtml @93,29 scrollListener="#{aBean.handleScrollPage()}": Method not found: example.pagecode.ABean$Proxy$_$$_WeldSubclass@1cf00a1.handleScrollPage(): javax.el.MethodNotFoundException: example/pages/common/myPage.xhtml @93,29 scrollListener="#{aBean.handleScrollPage()}": Method not found: example.ABean$Proxy$_$$_WeldSubclass@1cf00a1.handleScrollPage()
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:109) [jsf-impl-2.1.7-redhat-1.jar:2.1.7-redhat-1]
at org.richfaces.taglib.MethodExpressionScrollListener.processDataScroll(MethodExpressionScrollListener.java:27) [richfaces-components-ui-4.2.0.Final.jar:4.2.0.Final]
at org.richfaces.event.DataScrollEvent.processListener(DataScrollEvent.java:83) [richfaces-components-api-4.2.0.Final.jar:4.2.0.Final]
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769) [jboss-jsf-api_2.1_spec-2.0.2.Final-redhat-1.jar:2.0.2.Final-redhat-1]
at org.richfaces.component.AbstractDataScroller.broadcast(AbstractDataScroller.java:166) [richfaces-components-ui-4.2.0.Final.jar:4.2.0.Final]
at org.richfaces.component.RowKeyContextEventWrapper.broadcast(RowKeyContextEventWrapper.java:104) [richfaces-components-ui-4.2.0.Final.jar:4.2.0.Final]
at org.richfaces.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:455) [richfaces-components-ui-4.2.0.Final.jar:4.2.0.Final]
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794) [jboss-jsf-api_2.1_spec-2.0.2.Final-redhat-1.jar:2.0.2.Final-redhat-1]
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259) [jboss-jsf-api_2.1_spec-2.0.2.Final-redhat-1.jar:2.0.2.Final-redhat-1]
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) [jsf-impl-2.1.7-redhat-1.jar:2.1.7-redhat-1]
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.7-redhat-1.jar:2.1.7-redhat-1]
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [jsf-impl-2.1.7-redhat-1.jar:2.1.7-redhat-1]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) [jboss-jsf-api_2.1_spec-2.0.2.Final-redhat-1.jar:2.0.2.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.16.Final-redhat-1.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.16.Final-redhat-1.jar:]
.....
Any hints abaout what can be wrong?
Thanks a lot!
I haven’t seen this before and I can’t explain the cause, but I’d bet that it’s a bug in JBoss 7 EL implementation. As first step I’d try removing those unnecessary parentheses from the method,
so that it becomes
(as confirmed in the question comments, this has solved the problem for you, perhaps it’s related to the fact that this listener method optionally accepts an argument and that RichFaces might implicitly have provided one)
For the completeness I suggest to report this issue to JBoss guys.