[Seasar-user:15519] Re: [S2Mai] Windows上でVelocityとの組み合わせで使うとメモリリーク?
渡辺 祐
[E-MAIL ADDRESS DELETED]
2008年 8月 26日 (火) 11:33:15 JST
渡辺です。
モノはついでなのでVelocityがらみのTIPSを。
http://svn.seasar.org/browse/trunk/s2mai/src/main/resources/velocity.properties?diff_format=h&root=sandbox.s2mai&view=markup
を見たところ、読み込んだテンプレートのキャッシュ機構がtrueになってないようです。
(デフォルトがfalse)
開発過程ではfalseにすべきでしょうですが、
運用過程ではtrueにしたほうが速度が増します。
わたしの経験則では3,4割程度UP。
リソースローダの設定Velocity-TECHSCORE-
http://www.techscore.com/tech/ApacheJakarta/Velocity/11.html
>Date: Tue, 26 Aug 2008 00:28:16 +0900
>From: "六" <[E-MAIL ADDRESS DELETED]>
>Reply-To: [E-MAIL ADDRESS DELETED]
>To: [E-MAIL ADDRESS DELETED]
>Subject: [Seasar-user:15517] Re:[S2Mai] Windows上でVelocityとの組み合わせで
> 使うとメモリリーク?
>
>六です。
>
>ご報告有難う御座います。
>FreeMarker用のprocessorとVelocityのでinit()の意味合いが
>随分違ってしまっていますね。
>
>VelocityEngineを初回のみ作成するように修正します。
>有難う御座いました。
>
>2008/08/24 18:27 佐竹雅央 <[E-MAIL ADDRESS DELETED]>:
>> お世話になっております、佐竹です。
>>
>> S2Mai 0.9.6 をVelocityと組み合わせて使わせております。
>>
>> その際、Linuxサーバでは発生しないのですが、開発用のWindowsPCにおいて、
>> メモリリークのような事象が発生しましたので報告いたします。
>>
>> 発生方法は、Velocityを使うように設定した上で、繰り返し何度もメールを送るだけです。
>> トランザクション連携はしていません。
>>
>> VelocityProcessorImpl が、メールを1通送るたびに実行されるinitメソッドの中で
>> VelocityEnginを作成・初期化しており、これを自前の、最初の一度しかEngineを
>> 作成しないような実装クラスに差し替えることで発生しなくなりました。
>> (initメソッド全体を if (this.engine == null) { ... } で囲むだけ)
>>
>> # initが何度も呼ばれるほうが問題なのかもしれませんが。
>>
>>
>> 以上、宜しくお願い致します。
>> _______________________________________________
>> 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 メーリングリストの案内