HOT Deployを試してみる。
パッケージ構成
とりあえずパッケージ名は標準に従ったほうが良い模様。
- test(OndemandBehaviorのrootPackageName)
でもS2DaoMakerで作ったEntityをtestパッケージ以下に入れておくと、ClassCastExceptionが発生。
とりあえず別のパッケージにしておいた。
s2container.dicon
s2container.diconはこんな感じ。
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN" "http://www.seasar.org/dtd/components23.dtd"> <components> <include path="dao.dicon"/> <include path="aop.dicon"/> <component class="org.seasar.framework.container.hotdeploy.OndemandBehavior"> <property name="rootPackageName">"test"</property> <initMethod name="addCreator"> <arg> <component class="org.seasar.framework.container.hotdeploy.creator.ActionCreator" /> </arg> </initMethod> <initMethod name="addCreator"> <arg> <component class="org.seasar.framework.container.hotdeploy.creator.ServiceCreator"> <property name="middlePackageName">"service"</property> <initMethod name="addCustomizer" > <arg> <component class="org.seasar.framework.container.autoregister.AspectCustomizer"> <property name="interceptor">serviceInterceptorChain</property> </component> </arg> </initMethod> </component> </arg> </initMethod> <initMethod name="addCreator"> <arg> <component class="org.seasar.framework.container.hotdeploy.creator.DtoCreator"> <property name="instanceDef">@org.seasar.framework.container.deployer.InstanceDefFactory@SESSION</property> </component> </arg> </initMethod> <initMethod name="addCreator"> <arg> <component class="org.seasar.framework.container.hotdeploy.creator.DaoCreator"> <initMethod name="addCustomizer" > <arg> <component class="org.seasar.framework.container.autoregister.AspectCustomizer"> <property name="interceptor">dao.interceptor</property> </component> </arg> </initMethod> </component> </arg> </initMethod> </component> </components>