rich:columns in rich:dataGrid
aweeks Aug 3, 2008 10:00 PMI am trying to use a rich:columns component to dynamically create rich:dataTables of varing columns which are inside a rich:dataGrid. I want to get the data for the rich:columns value attribute from the rich:dataGrid, however, when the app is run I get a javax.servlet.jsp.JspTagException: FOREACH_BAD_ITEMS exception. This exception is thrown when the columns component cannot determine the type of data it is dealing with.
The documentation for the columns component states that it should successfully accept any el expression that evaluates to a java.lang.object. In the latest GA jars for richfaces, the columns component only seem to work when the value attribute is supplied directly from the backing bean for the page.
Please advice me as to how to successfully use the rich:columns component to dynamically create these tables from data provided by an el call to the dataGrid component.
Any help is appreciated,
Thanks
Allen
Below is some code snippets and the resulting stacktrace:
JSP Page:
<rich:dataGrid id="invTable" columns="1" var="data" value="#{inventory$InventoryMain.inventoryData}">
<h:panelGrid width="100%" columns="2" columnClasses="gridColumnTopLeft,gridColumnTopLeft">
<h:panelGrid columns="1" columnClasses="gridColumnTopLeft" border="1">
<rich:dataTable id="dt1" columnClasses="#{inventory$InventoryMain.colClasses}"
rendered="#{inventory$InventoryMain.carBased}"
value="#{data.inventoryDisplayList}" var="col">
<rich:columns value="#{data.dataKeys}"
var="hdr" index="ind">
<f:facet name="header">
<h:outputText value="#{data.colHeaders[ind]}"/>
</f:facet>
<h:outputText value="#{col[hdr]}" />
<f:facet name="footer">
<a4j:commandLink action="#{inventory$InventoryMain.goToBOL_action}"
value="#{data.bolLinks[ind]}">
<a4j:actionparam name="bolnum" value="#{data.bolLinks[ind]}"
assignTo="#{inventory$InventoryMain.bolNumberVal}"/>
</a4j:commandLink>
</f:facet>
</rich:columns>
</rich:dataTable>
</h:panelGrid>
</h:panelGrid>
</rich:dataGrid>
Resulting stacktrace:
javax.servlet.jsp.JspTagException: FOREACH_BAD_ITEMS
at org.richfaces.iterator.SimpleForEachIterator.toForEachIterator(SimpleForEachIterator.java:116)
at org.richfaces.iterator.SimpleForEachIterator.supportedTypeForEachIterator(SimpleForEachIterator.java:79)
at org.richfaces.taglib.ColumnsTag.prepare(ColumnsTag.java:420)
at org.richfaces.taglib.ColumnsTag.doStartTag(ColumnsTag.java:256)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_rich_005fcolumns_005f0(InventoryMain_jsp.java:845)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_rich_005fdataTable_005f0(InventoryMain_jsp.java:808)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_h_005fpanelGrid_005f2(InventoryMain_jsp.java:752)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_h_005fpanelGrid_005f0(InventoryMain_jsp.java:398)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_rich_005fdataGrid_005f0(InventoryMain_jsp.java:347)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_rich_005fpanel_005f0(InventoryMain_jsp.java:298)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_h_005fform_005f0(InventoryMain_jsp.java:237)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_f_005fview_005f0(InventoryMain_jsp.java:194)
at org.apache.jsp.inventory.InventoryMain_jsp._jspService(InventoryMain_jsp.java:157)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:473)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:141)
at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:320)
at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
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:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Aug 3, 2008 6:33:03 PM org.apache.catalina.core.ApplicationContext log
SEVERE: org.apache.jasper.JasperException: An exception occurred processing JSP page /inventory/InventoryMain.jsp at line 44
41: <rich:dataTable id="dt1" columnClasses="#{inventory$InventoryMain.colClasses}"
42: rendered="#{inventory$InventoryMain.carBased}"
43: value="#{data.inventoryDisplayList}" var="col">
44: <rich:columns value="#{data.dataKeys}"
45: var="hdr" index="ind">
46: <f:facet name="header">
47: <h:outputText value="#{data.colHeaders[ind]}"/>
Stacktrace:
javax.faces.FacesException: org.apache.jasper.JasperException: An exception occurred processing JSP page /inventory/InventoryMain.jsp at line 44
41: <rich:dataTable id="dt1" columnClasses="#{inventory$InventoryMain.colClasses}"
42: rendered="#{inventory$InventoryMain.carBased}"
43: value="#{data.inventoryDisplayList}" var="col">
44: <rich:columns value="#{data.dataKeys}"
45: var="hdr" index="ind">
46: <f:facet name="header">
47: <h:outputText value="#{data.colHeaders[ind]}"/>
Stacktrace:
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:415)
at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:473)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:141)
at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:320)
at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
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:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.jasper.JasperException: An exception occurred processing JSP page /inventory/InventoryMain.jsp at line 44
41: <rich:dataTable id="dt1" columnClasses="#{inventory$InventoryMain.colClasses}"
42: rendered="#{inventory$InventoryMain.carBased}"
43: value="#{data.inventoryDisplayList}" var="col">
44: <rich:columns value="#{data.dataKeys}"
45: var="hdr" index="ind">
46: <f:facet name="header">
47: <h:outputText value="#{data.colHeaders[ind]}"/>
Stacktrace:
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
... 33 more
Caused by: javax.servlet.ServletException: javax.servlet.jsp.JspTagException: FOREACH_BAD_ITEMS
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
at org.apache.jsp.inventory.InventoryMain_jsp._jspService(InventoryMain_jsp.java:167)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
... 46 more
Caused by: javax.servlet.jsp.JspTagException: FOREACH_BAD_ITEMS
at org.richfaces.iterator.SimpleForEachIterator.toForEachIterator(SimpleForEachIterator.java:116)
at org.richfaces.iterator.SimpleForEachIterator.supportedTypeForEachIterator(SimpleForEachIterator.java:79)
at org.richfaces.taglib.ColumnsTag.prepare(ColumnsTag.java:420)
at org.richfaces.taglib.ColumnsTag.doStartTag(ColumnsTag.java:256)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_rich_005fcolumns_005f0(InventoryMain_jsp.java:845)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_rich_005fdataTable_005f0(InventoryMain_jsp.java:808)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_h_005fpanelGrid_005f2(InventoryMain_jsp.java:752)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_h_005fpanelGrid_005f0(InventoryMain_jsp.java:398)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_rich_005fdataGrid_005f0(InventoryMain_jsp.java:347)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_rich_005fpanel_005f0(InventoryMain_jsp.java:298)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_h_005fform_005f0(InventoryMain_jsp.java:237)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_f_005fview_005f0(InventoryMain_jsp.java:194)
at org.apache.jsp.inventory.InventoryMain_jsp._jspService(InventoryMain_jsp.java:157)
... 49 more
Aug 3, 2008 6:33:03 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
javax.servlet.jsp.JspTagException: FOREACH_BAD_ITEMS
at org.richfaces.iterator.SimpleForEachIterator.toForEachIterator(SimpleForEachIterator.java:116)
at org.richfaces.iterator.SimpleForEachIterator.supportedTypeForEachIterator(SimpleForEachIterator.java:79)
at org.richfaces.taglib.ColumnsTag.prepare(ColumnsTag.java:420)
at org.richfaces.taglib.ColumnsTag.doStartTag(ColumnsTag.java:256)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_rich_005fcolumns_005f0(InventoryMain_jsp.java:845)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_rich_005fdataTable_005f0(InventoryMain_jsp.java:808)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_h_005fpanelGrid_005f2(InventoryMain_jsp.java:752)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_h_005fpanelGrid_005f0(InventoryMain_jsp.java:398)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_rich_005fdataGrid_005f0(InventoryMain_jsp.java:347)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_rich_005fpanel_005f0(InventoryMain_jsp.java:298)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_h_005fform_005f0(InventoryMain_jsp.java:237)
at org.apache.jsp.inventory.InventoryMain_jsp._jspx_meth_f_005fview_005f0(InventoryMain_jsp.java:194)
at org.apache.jsp.inventory.InventoryMain_jsp._jspService(InventoryMain_jsp.java:157)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:473)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:141)
at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:320)
at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
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:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)