[seasar-s2dao-dev:698] Re: [Seasar-user:21792] について(DaoMetaDataの初期化タイミング)

kubo [E-MAIL ADDRESS DELETED]
2014年 2月 15日 (土) 21:33:22 JST


久保(jflute)です

MLの方の原因がそれかどうかまだちょっと理解していないのですが...
(二重に走って名前がAOPの名前がバッティング!?

現状の実装は、たぶん違うクラスの初期化を
同時に走らせたいるようにしてるんだと思われますが、
一つにまとめるとそこがシリアルになっちゃうんじゃないかと。

まあ別になってもいいのかなとは思いますが、
S2Daoのステータスから慎重な修正が求められると思うので、
一度ユーザーの方に説明して、getDaoMetaData() を
オーバーライドしてもらうのもアリじゃないかと。
(少なくとも説明して、時間あれば試してもらうとか)



2014-02-14 21:15 GMT+09:00 Hiroyuki Ohnaka <azusa @ fieldnotes.jp>:
> 大中です。ご無沙汰しています。
>
>  [Seasar-user:21792] で小林さんに回答してもらったDaoMetaDataFactoryImplの初期化処理ですが、
>
> DaoMetaDataFactoryImpl#getDaoMetaDataでいったんdaoMetaDataCacheで
> 排他をかけていますが、その後の128行目から130行目のところは、
> 排他がいったん外れるため、初期化処理が二重に走る場合があるように
> 思われます。
>
> https://github.com/seasarorg/s2dao/blob/master/s2-dao/src/main/java/org/seasar/dao/impl/DaoMetaDataFactoryImpl.java#L128-L130
>
> この部分は、2つあるsynchronizedのブロックを一つにまとめるように
> 修正しようと思いますが、みなさんはどう思われますか?
>
>
>
> _______________________________________________
> seasar-s2dao-dev mailing list
> seasar-s2dao-dev @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-s2dao-dev


seasar-s2dao-dev メーリングリストの案内