【インクルード】【名前空間】【環境名】
1. diconファイルの分割
2. diconファイルの自動切り替え
include : 親は子のコンポーネントが参照できるが、逆はできない。
xi:include : 親と子は相互参照可能。
読み込まるので、containerインスタンスは一つ生成される。
app.dicon |
<components>
<include path="aaa.dicon"/>
<xi:include href="/bbb.dicon">
<!-- 環境名(env.txt)により、読み込みdicon切り替え -->
<include condition="#ENV == 'ut'" path="ccc.dicon"/>
<!-- 暗黙インクルードにより、優先順にはddd_ut.dicon, ddd_ct.dicon, ddd.diconになる -->
<include path="ddd.dicon"/>
<arg>aaa.a</arg>
<arg>bbb.b</arg>
</component
</components>
|
s2container.dicon【diconファイル差し替え】 |
<components>
<include condition="#ENV == 'ut'" path="warmdeploy.dicon"/>
<include condition="#ENV == 'ct'" path="hotdeploy.dicon"/>
<include condition="#ENV != 'ut' and #ENV != 'ct'" path="cooldeploy.dicon"/>
<component class="org.seasar.framework.container.factory.SimplePathResolver">
<initMethod name="addRealPath">
<arg>"ccc.dicon"</arg>
<!-- ccc.diconの代わりにddd.diconが差し込まれる -->
<arg>"ddd.dicon"</arg>
</initMethod>
</component>
</components>
|