[Seasar-user:17860] [teeda] ForEach で NullPointerException
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2009年 6月 26日 (金) 00:55:47 JST
いつもお世話になっております。
アワネと申します。
teedaでForEachで例外が発生する場合があります。
原因等わかりますでしょうか。
お忙しいと思いますが、ご確認よろしくお願いします。
【内容】
CoolDeployでhtmlのForEachネスト(6段階)部分で、
データ表示に時間がかかる(データ量が多いため)場合に、
NullPointerExceptionが発生することがあります。
【検証状況】
100%の再現率ではなく、例外にならない場合もあります。
該当の例外が発生すると、ForEachがある画面で常に同様の例
外が発生します。(別セッションでも)
ForEachに対するItemsのサイズが0の場合は問題ないです。(ForEach
の処理が実行されないため)
APサーバを再起動するまで同じ例外が発生し続けます。
teeda-html-example等で同様の例外が発生するサンプルを作成
しようと試みましたが、
うまく出来ませんでした。
そもそもデータ量が多いため、forEachのネスト部分をajaxで
の取得に切り替えようと思ってはいるのですが、
すぐに対応できないため、回避策等ありましたらご教授くださ
い。
【使用バージョン】
weblogic9.2
seasar2.4.37
teeda1.1.13-sp7
【スタックトレース】
一部独自クラスを「#」でマスクしています。
・パターン1
java.lang.NullPointerException
at
org.seasar.framework.beans.impl.BeanDescImpl.hasPropertyDesc(BeanDescImpl.java:126)
at
org.seasar.teeda.extension.component.TForEach.setValue(TForEach.java:680)
at
org.seasar.teeda.extension.component.TForEach.bindRowIndex(TForEach.java:529)
at
org.seasar.teeda.extension.render.TForEachRenderer.encodeForEachChildren(TForEachRenderer.java:110)
at
org.seasar.teeda.extension.render.TForEachRenderer.encodeChildren(TForEachRenderer.java:75)
at
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:339)
at
javax.faces.render.Renderer.encodeChildren0(Renderer.java:57)
at
javax.faces.render.Renderer.encodeChildren(Renderer.java:48)
at
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:339)
at
org.seasar.teeda.core.util.RendererUtil.renderChild(RendererUtil.java:326)
at
org.seasar.teeda.core.util.RendererUtil.renderChildren(RendererUtil.java:340)
at
org.seasar.teeda.core.util.RendererUtil.renderChild(RendererUtil.java:328)
at
org.seasar.teeda.core.util.RendererUtil.renderChildren(RendererUtil.java:340)
at
org.seasar.teeda.extension.render.TViewRootRenderer.encodeBegin(TViewRootRenderer.java:65)
at
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:330)
at
javax.faces.component.UIViewRoot.encodeBegin(UIViewRoot.java:100)
at
javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:247)
at
javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:184)
at
org.seasar.teeda.extension.taglib.TViewTag.doStartTag(TViewTag.java:98)
at
org.seasar.teeda.extension.html.processor.ElementProcessorImpl.processTag(ElementProcessorImpl.java:145)
at
org.seasar.teeda.extension.html.processor.ElementProcessorImpl.process(ElementProcessorImpl.java:138)
at
org.seasar.teeda.extension.html.processor.ElementProcessorImpl.process(ElementProcessorImpl.java:119)
at
org.seasar.teeda.extension.html.impl.HtmlViewHandler.renderView(HtmlViewHandler.java:157)
at
org.seasar.teeda.extension.html.impl.HtmlViewHandler.renderView(HtmlViewHandler.java:143)
at
org.seasar.teeda.core.lifecycle.impl.RenderResponsePhase.executePhase(RenderResponsePhase.java:39)
at
org.seasar.teeda.core.lifecycle.AbstractPhase.execute(AbstractPhase.java:57)
at
org.seasar.teeda.core.lifecycle.LifecycleImpl.render(LifecycleImpl.java:131)
at
javax.faces.webapp.FacesServlet.service(FacesServlet.java:101)
at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at ###Filter.doFilter(###Filter.java:58)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at
org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:71)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at
org.seasar.teeda.extension.filter.MultipartFormDataFilter.doFilter(MultipartFormDataFilter.java:83)
・パターン2
java.lang.NullPointerException
at
org.seasar.framework.util.CaseInsensitiveMap.get(CaseInsensitiveMap.java:58)
at
org.seasar.framework.beans.impl.BeanDescImpl.hasPropertyDesc(BeanDescImpl.java:126)
at
org.seasar.teeda.extension.component.TForEach.setValue(TForEach.java:680)
at
org.seasar.teeda.extension.component.TForEach.bindRowIndex(TForEach.java:529)
at
org.seasar.teeda.extension.render.TForEachRenderer.encodeForEachChildren(TForEachRenderer.java:110)
at
org.seasar.teeda.extension.render.TForEachRenderer.encodeChildren(TForEachRenderer.java:75)
at
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:339)
at
javax.faces.render.Renderer.encodeChildren0(Renderer.java:57)
at
javax.faces.render.Renderer.encodeChildren(Renderer.java:48)
at
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:339)
at
org.seasar.teeda.core.util.RendererUtil.renderChild(RendererUtil.java:326)
at
org.seasar.teeda.core.util.RendererUtil.renderChildren(RendererUtil.java:340)
at
org.seasar.teeda.core.util.RendererUtil.renderChild(RendererUtil.java:328)
at
org.seasar.teeda.core.util.RendererUtil.renderChildren(RendererUtil.java:340)
at
org.seasar.teeda.extension.render.TViewRootRenderer.encodeBegin(TViewRootRenderer.java:65)
at
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:330)
at
javax.faces.component.UIViewRoot.encodeBegin(UIViewRoot.java:100)
at
javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:247)
at
javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:184)
at
org.seasar.teeda.extension.taglib.TViewTag.doStartTag(TViewTag.java:98)
at
org.seasar.teeda.extension.html.processor.ElementProcessorImpl.processTag(ElementProcessorImpl.java:145)
at
org.seasar.teeda.extension.html.processor.ElementProcessorImpl.process(ElementProcessorImpl.java:138)
at
org.seasar.teeda.extension.html.processor.ElementProcessorImpl.process(ElementProcessorImpl.java:119)
at
org.seasar.teeda.extension.html.impl.HtmlViewHandler.renderView(HtmlViewHandler.java:157)
at
org.seasar.teeda.extension.html.impl.HtmlViewHandler.renderView(HtmlViewHandler.java:143)
at
org.seasar.teeda.core.lifecycle.impl.RenderResponsePhase.executePhase(RenderResponsePhase.java:39)
at
org.seasar.teeda.core.lifecycle.AbstractPhase.execute(AbstractPhase.java:57)
at
org.seasar.teeda.core.lifecycle.LifecycleImpl.render(LifecycleImpl.java:131)
at
javax.faces.webapp.FacesServlet.service(FacesServlet.java:101)
at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at ###Filter.doFilter(###Filter.java:58)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at
org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:71)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
以上、よろしくお願いします。
--------------------------------------
Power up the Internet with Yahoo! Toolbar.
http://pr.mail.yahoo.co.jp/toolbar/
Seasar-user メーリングリストの案内