できましたよっと。
やりたかったこと
一部のテーブルだけ他のデータベースサーバーに置いてあるので、それらのDAOは他のDAOで使っているのとは別のコネクションを張って使いたい。
設定
app.dicon
diconのinclude関係をこんな感じにして、例外的に他のデータベースを使うDAO interface(仮にIHogeDaoとしよう)はexceptional-entities.diconに収めた。で、第二のコネクションに関する設定はexceptional-entities.dicon以下にぶら下がってるother-db-s2dao.dicon, other-db-ado.diconに入れた。これはs2dao.dicon, ado.diconとはコネクションの設定だけが違う。
最初はこんな風にしていて、はまった。
IHogeDaoをmodule.diconに入れてしまったのだ。s2dao.diconで定義したinterceptorとother-db-s2dao.diconで定義したのとは名前空間が違うから、other-db-s2dao.diconで定義したinterceptorをaspectに指定すればOKかと思ったのだけれども。でも走らせて見たら、なんかother-db-s2dao.diconで定義したinterceptorでクエリを走らせたところで固まって、結局timeoutしてしまった。トランザクション関係が怪しい?
もう一段dicon includeをかませてみたら、うまくいった。