[Seasar-user:12734] Teedaのインタセプタが効かない場合がある
gaku furukawa
[E-MAIL ADDRESS DELETED]
2008年 2月 4日 (月) 13:17:24 JST
お世話になっております、古川です。
現在、S2 + Teeda でプログラムを組んでおり、同じインタセプタを連続して発生さ
せる
テストを行っていたのですが、しばらくするとインタセプタが効かなくなってしまう
ことがあります。
[確認手順]
お気に入りから、指定画面へ遷移
↓
ログインエラー(ログインされていないため)
↓
エラー画面へ遷移
↓
お気に入りから、指定画面へ遷移
・・・・
・・・・
を4,5回繰り返すと、「すでにリダイレクトされています」といったエラーが発生
します。
また、ログインエラーのエクスケプションがキャッチできなくなります。
以下のコードで、ログイン処理をかませており、ログインされていなければ、
ログイン処理の中で、ログインエクスケプションをスローするようにしています。
<components>
<include path="default-customizer.dicon"/>
<component name="pageCustomizer"
class="org.seasar.framework.container.customizer.CustomizerChain">
....省略
....
<initMethod name="addCustomizer">
<arg>
<component
class="org.seasar.framework.container.customizer.AspectCustomizer">
<initMethod name="addInterceptorName">
<arg>"app_aop.loginAuthInterceptor"</arg>
</initMethod>
<property name="pointcut">".*Validator, prerender"</property>
<initMethod name="addIgnoreClassPattern">
<arg> ... 省略 ... </arg>
</initMethod>
</component>
</arg>
</initMethod>
....省略
....
</components>
以下が、ログインエクスケプションをキャッチして、エラー画面へ遷移するための記
述です。
<components namespace="teedaErrorPage" >
....省略
....
<component
class="org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl">
<initMethod name="addErrorPage">
<arg>@[E-MAIL ADDRESS DELETED]</arg>
<arg>"/view/error/errorAuth.html"</arg>
</initMethod>
....省略
....
</component>
</components>
ログインチェック処理以外でも、似たようなロジックを組んでいるのですが、
その場合は、「リダイレクトエラー」は発生しませんが、エラー画面へ遷移できなく
なる
という現象が発生しました。
どちらも、IE または Sleipnir で発生して、Firefox では発生しませんでした。
[環境]
seasar ver 2.4.17
teeda ver 1.0.7
何か原因と思われるものがありましたら、教えてください。
-----Original Message-----
From: [E-MAIL ADDRESS DELETED]
[mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of kubo
Sent: Sunday, February 03, 2008 11:10 PM
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:12728] Re:dbfluteでのDBアクセスについて
久保です。
MainPage.javaの49行目はどこでしょうか?
そこでNullPointerが発生しているようです。
もし、「bhv.selectList(cb);」の行なのであれば、
BehaviorがPageクラスにインジェクションされていないのだと思われます。
試しに「public ProfilesBhv bhv;」を「public ProfilesBhv profilesBhv;」
にして実行して頂けますでしょうか?
publicフィールドの場合はフィールド名が
そのままコンポーネント名として扱われるような気がしたので...
2008/2/3 <[E-MAIL ADDRESS DELETED]>:
>
> お世話になります。田村と申します。
>
> DBfliuteの設定の件でお伺いしたいのですが、
> jdbc.bat,generate.batを実行して自動生成されたクラスを利用して
> DBfluteでデータアクセスを実行してもNullpointerが出力されます。
> 色々試してみましたがどうしても実行できません。
> お力添えをお願いいたします。
>
>
>
> ★環境
> teeda + s2dao
> S2dao 1.0.47
> dbflute 0.62
> DB;postgres8.2
> ApplicationServer:Tomcat5.5
>
> ★appdicon
>
> <!--<include path="dao.dicon"/>-->
> <include path="dbflute.dicon"/>
>
>
> ★<component name="xaDataSource"
> class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
> <property name="driverClassName">
> "org.postgresql.Driver"
> </property>
> <property name="URL">
> <!-- "jdbc:postgresql://localhost/teeda-sns"-->
> "jdbc:postgresql://localhost/postgres"
> </property>
> <property name="user">"postgres"</property>
> <property name="password">"agnie"</property>
> </component>
>
>
>
> ★Bhvの実行部分(Pageクラス(MainPage.java))
>
> public ProfilesBhv bhv;
>
> 中略…
>
>
> final ProfilesCB cb = new ProfilesCB();
>
> //全件検索
> final ListResultBean<Profiles> a = bhv.selectList(cb);
>
> ★エラーメッセージ
>
> java.lang.NullPointerException
> at tknnnnnn.web.main.MainPage.doProfile(MainPage.java:49)
> at
>
tknnnnnn.web.main.MainPage$$EnhancedByS2AOP$$1d9ddba.$$doProfile$$invokeSupe
rMethod$$(MainPage$$EnhancedByS2AOP$$1d9ddba.java)
> at
>
tknnnnnn.web.main.MainPage$$EnhancedByS2AOP$$1d9ddba$$MethodInvocation$$doPr
ofile2.proceed(MethodInvocationClassGenerator.java)
> at
>
org.seasar.extension.tx.DefaultTransactionCallback.execute(DefaultTransactio
nCallback.java:58)
> at
>
org.seasar.extension.tx.adapter.JTATransactionManagerAdapter.required(JTATra
nsactionManagerAdapter.java:65)
> at
>
org.seasar.extension.tx.RequiredInterceptor.invoke(RequiredInterceptor.java:
41)
> at
>
tknnnnnn.web.main.MainPage$$EnhancedByS2AOP$$1d9ddba$$MethodInvocation$$doPr
ofile2.proceed(MethodInvocationClassGenerator.java)
> at
>
org.seasar.framework.aop.interceptors.ThrowsInterceptor.invoke(ThrowsInterce
ptor.java:77)
> at
>
tknnnnnn.web.main.MainPage$$EnhancedByS2AOP$$1d9ddba$$MethodInvocation$$doPr
ofile2.proceed(MethodInvocationClassGenerator.java)
> at
>
org.seasar.framework.aop.interceptors.TraceInterceptor.invoke(TraceIntercept
or.java:73)
> at
>
tknnnnnn.web.main.MainPage$$EnhancedByS2AOP$$1d9ddba$$MethodInvocation$$doPr
ofile2.proceed(MethodInvocationClassGenerator.java)
> at
>
tknnnnnn.web.main.MainPage$$EnhancedByS2AOP$$1d9ddba.doProfile(MainPage$$Enh
ancedByS2AOP$$1d9ddba.java)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.seasar.framework.util.MethodUtil.invoke(MethodUtil.java:93)
> at
> org.seasar.framework.beans.impl.BeanDescImpl.invoke(BeanDescImpl.java:213)
> at
>
org.seasar.teeda.extension.html.impl.HtmlComponentInvokerImpl.invoke(HtmlCom
ponentInvokerImpl.java:159)
> at
>
org.seasar.teeda.extension.html.impl.HtmlActionListener.processAction(HtmlAc
tionListener.java:62)
> at javax.faces.component.UICommand.broadcast(UICommand.java:149)
> at
>
org.seasar.teeda.extension.component.html.THtmlCommandButton.broadcast(THtml
CommandButton.java:61)
> at
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:192)
> at
> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:117)
> at
>
org.seasar.teeda.core.lifecycle.impl.InvokeApplicationPhase.executePhase(Inv
okeApplicationPhase.java:29)
> at
>
org.seasar.teeda.core.lifecycle.AbstractPhase.execute(AbstractPhase.java:57)
> at
>
org.seasar.teeda.core.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:97)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:94)
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:269)
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:188)
> at
>
org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployF
ilter.java:63)
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:215)
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:188)
> at
>
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2Container
Filter.java:77)
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:215)
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:188)
> at
>
org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:215)
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.
java:210)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.
java:174)
> at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127
)
> at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117
)
> at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:108)
> at
>
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at
>
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC
onnection(Http11BaseProtocol.java:665)
> at
>
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:528)
> at
>
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo
rkerThread.java:81)
> at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:685)
> at java.lang.Thread.run(Unknown Source)
>
>
>
>
> よろしくお願いいたします。
> ________________________________
> 「初音ミク」の妹分「鏡音リン」をLive Search で画像検索!
> http://search.live.com/images/results.aspx?q=%E9%8F%A1%E9%9F%B3%E3%83%
> AA%E3%83%B3&FORM=MGDEAA
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
_______________________________________________
Seasar-user mailing list
[E-MAIL ADDRESS DELETED]
https://ml.seasar.org/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内