[Wicket-ja-user 369] Re: FeedbackPanel にメッセージを出力するとStackOverflowError等が起きてしまう。

Back to archive index

Tsutomu Yano t_yano****@me*****
2009年 7月 22日 (水) 02:34:34 JST


矢野です。

WicketのJIRAにバグ登録しておいたのですが、さっそくFIXコードがあがってきました。
チェックしてほしいという依頼があったので、返事しておきます。

原因はMessageListViewのListItemがFeedbackMessageへの参照を持っていて、FeedbackMessageが
componentへの参照を持っていて、componentが前ページの参照を持っている、ということで、
沖野さんの指摘通りですね。私もサンプルコードをちょっと変えた以外は沖野さんの指摘のままJIRAに
載せておきましたので、コミッタたちが対応しやすいうまいJIRA登録ができたようです。

この調子でバグを見つけたら報告していきたいです。

コミッタの修正コードでは、onDetach()でremoveAll()呼んで前コンポーネントを破棄したらいいよね、
という感じでした。

明日動作チェックをして返事するつもりです。


On 2009/07/21, at 19:10, maeda wrote:

> maedaです。
>
> 矢野様、沖野様 返信ありがとうございます。
>
> いろいろ調べて頂きありがとうございます。
>
> wicketのバグだったのですね。
> とりあえずSession.get.〜で対応したいと思います。
>
> 本当にありがとうございました!!
>
>
> Tsutomu Yano <t_yano****@me*****> wrote:
>
>> 沖野さん
>>
>>
>> おお! すばらしいですね!
>>
>> 英語MLにはバグとして投げておきます。WicketのBug Trackerにも登録しておきますね。
>>
>>
>> wicket-jaすごいなー
>>
>>
>> On 2009/07/20, at 3:02, shinya okino wrote:
>>
>>> 沖野です。
>>>
>>> wicket1.3.6でMessageListView#populateItemを以下に書き換えて試してみたところ
>>> StackOverflowが発生しなくなくなったので、原因と考えて間違いなさそうです。
>>>
>>> 矢野さん
>>> 出来れば英語MLに送っていただきたいのですが、よろしいでしょうか。
>>>
>>> protected void populateItem(final ListItem listItem) {
>>> 	final FeedbackMessage message = (FeedbackMessage) listItem.getModelObject();
>>> 	message.markRendered();
>>> 	final String levelAsString = message.getLevelAsString();
>>> 	final IModel replacementModel = new Model() {
>>> 		private static final long serialVersionUID = 1L;
>>> 		public Object getObject() {
>>> 			return "feedbackPanel" + levelAsString;
>>> 		}
>>> 	};
>>> 	final Component label = newMessageDisplayComponent("message",message);
>>> 	final AttributeModifier levelModifier = new
>>> AttributeModifier("class", replacementModel);
>>> 	label.add(levelModifier);
>>> 	listItem.add(levelModifier);
>>> 	listItem.add(label);
>>> }
>>
>>
>> ---------------------------------------------------
>> 矢野 勉(やの つとむ)
>> 電子メール: t_yano****@me*****
>> ---------------------------------------------------
>>
>> _______________________________________________
>> Wicket-ja-user mailing list
>> Wicke****@lists*****
>> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user
>
> _______________________________________________
> Wicket-ja-user mailing list
> Wicke****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user




Wicket-ja-user メーリングリストの案内
Back to archive index