[mayaa-user:614] Re: handled exception, injectedNode is null

荒井 哲三 [E-MAIL ADDRESS DELETED]
2008年 1月 12日 (土) 19:43:37 JST


加藤様、

お忙しい中返信ありがとうございます。

ソースを別途加藤様に送らせていただきます。

取り急ぎ、

荒井

On Fri, 11 Jan 2008 23:28:31 +0900
加藤太朗 <[E-MAIL ADDRESS DELETED]> wrote:

> 加藤です。
> 
> > とりあえず前者のpageSerializeをfalseにするで対応したいと思います。
> 確実ですがパフォーマンスも確実に悪くなります。
> HTMLノードが大量にあるページでは、ビルド時間が掛かります。
> シリアライズキャッシュを有効にしていないと重くなります。
> 
> > こちら、tomcat(webコンテナ)を再起動したときには必ず発生していまして、
> 
> 再起動して必ず発生するのは、シリアライズキャッシュファイルから読み込むためです。
> WEB-INF/.mayaaSpecCache というディレクトリに作られています。
> warを作成する際には、war内にはキャッシュファイルが含まれていないからだと
> 思われます。そのため、WEB-INF/.mayaaSpecCacheにキャッシュファイルが1つもないので、
> 最初のうちは発生しないということになります。
> 
> > その後は発生したのは初めてだったのですが、時間がたつにつれて発生する形な
> > のでしょうか?
> 
> WEB-INF/.mayaaSpecCacheの中をクリアした上で、tomcat(webコンテナ)を再起動すれば
> しばらくは発生しません。しかし一時的なものです。
> 
> 問題のあるページを1回でも開くと、そのページ情報はメモリにしばらくキャッシュ
> されますが、メモリには限界がありますので、GCの頻度が高くなるか、または、
> しばらく誰もそのページをアクセスしなかったか、…のいずれかの理由で、
> ページ情報はアンロードされます。その際にページ情報はシリアライズキャッシュファイルに
> 保存します。
> 
> 次回のアンロード済みの同ページにアクセスが来た際には、シリアライズキャッシュファイルを
> 使って復元しようとしますので(テンプレートや.mayaaに変更がない限り)、そこで
> はじめて問題が起きるというわけです。
> 
> 一度起きればTomcatを再起動しても、「次回のアンロード済みの同ページにアクセス」と
> 条件は一致しているので、発生しつづけるということになります。
> 
> ただ、現物を見ていないので、私の経験した情報からの推測でしかありません。
> シリアライズ・デシリアライズのタイミングについては間違いありませんが、
> 問題が発生している原因については、私の認識している問題とことなるものかも
> しれません。
> できましたら、例外が発生したページの、テンプレートとmayaaファイルを見させていただくと、
> mayaaの品質向上に役立てられる可能性があります。
> 可能な範囲でご協力いただければ幸いです。
> 
> 
> > 加藤様、
> > 
> > お忙しい中、ご返信いただきありがとうございました。
> > 
> > とりあえず前者のpageSerializeをfalseにするで対応したいと思います。
> > 
> > こちら、tomcat(webコンテナ)を再起動したときには必ず発生していまして、
> > その後は発生したのは初めてだったのですが、時間がたつにつれて発生する形な
> > のでしょうか?
> > 
> > 荒井
> > 
> > On Fri, 11 Jan 2008 21:29:16 +0900
> > 加藤太朗 <[E-MAIL ADDRESS DELETED]> wrote:
> > 
> > > 加藤です。
> > > 
> > > 根本理由は少し複雑で解決が難しく、手がつけられていないのですが、
> > > 以下のいずれかで対策できます。
> > > 
> > > ・ServiceProviderのpageSerializeをfalseにする(ただし性能が落ちます)。
> > > ・テンプレートのルートノードを静的なものにする。
> > > 
> > > 問題が起きるのはデシリアライズした結果が、動的なルートノードを
> > > 復元できないことにあります。
> > > このため、シリアライズキャッシュが無い初期状態では動作し、
> > > キャッシュを使ってページを復元した時には問題が起きます。
> > > 
> > > 問題の起きているテンプレートを差し支えない範囲で見せていただけると、
> > > もう少し、具体的なアドバイスができると思います。
> > > 
> > > 
> > > 
> > > --------------------------------------------------------->>
> > > @author Taro KATO (Gluegent, Inc.)
> > > {@link http://d.hatena.ne.jp/t-katochin/}
> > > >> It is better to create than to learn. Creating is the essence of life.
> > > 
> > > 
> > > _______________________________________________
> > > mayaa-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/mayaa-user
> > 
> > _______________________________________________
> > mayaa-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/mayaa-user
> 
> 
> 
> --------------------------------------------------------->>
> @author Taro KATO (Gluegent, Inc.)
> {@link http://d.hatena.ne.jp/t-katochin/}
> >> It is better to create than to learn. Creating is the essence of life.
> 
> 
> _______________________________________________
> mayaa-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/mayaa-user
> 

平素よりお世話になっております、ユーロプランの荒井です。

お忙しい中大変恐縮ですが、何卒よろしくお願い致します。
今後とも、何卒よろしくお願い致します。

取り急ぎ、

荒井
-----------------
有限会社 ユーロプラン
CTO
荒井 哲三                       
Tetsumi Arai
〒106-0031
東京都港区西麻布4-11-7-PH404
t 050-5534-3199(Direct)
t 03-5485-3166
f 03-5485-3166
m 090-4810-5445
e [E-MAIL ADDRESS DELETED]
www.europlan.co.jp



mayaa-user メーリングリストの案内