[Seasar-user:18572] [S2Dao] 単一Daoを2つ宣言してそれぞれのデータソースを切り替えるには?

はっしぃ [E-MAIL ADDRESS DELETED]
2009年 10月 2日 (金) 19:29:13 JST


いつもお世話になっております。はっしぃです。

現在、アプリケーションレベルでのデータベースの同期化処理の
実装を考えており、S2DaoとS2JDBC(ベース)で、データソースを
切り替えたいと思っております。

S2JDBC(ベース)では、BasicSelectHandlerを継承したクラスを
宣言するところで、@Bindingアノテーションを付与することで
データソースを切り替えれると認識しています。

S2Daoについては、FAQ/S2DAOにある「SMART deployで複数データソースに
対応するには?」のように daoのサブパッケージではなく、既存の単一Daoを
2つ宣言して接続先を切り替えたいのですが、このようなことは可能でしょうか?

希望としては、以下のようなコードのイメージです。

public class CopyBatch {

    private HogeDao fromDao;
    private HogeDao toDao;

    public void executeCopyOne(String id) {
        Hoge hoge = fromDao.findUniqueHoge(id);
        toDao.update(hoge);
    }
}

SelectableDataSourceProxyも検討したのですが、アスペクトする
タイミングが今回の場合、思いつきませんでした。

すみませんが、どなたか事例がありましたら教えてください。。。


■動作環境
 s2-framework-2.4.17
 teeda-extension-1.0.10


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