[Seasar-user:21462] 【Teeda + S2hibarnate】Daoへの独自interceptorの設定方法に関して
秋穂 賢
[E-MAIL ADDRESS DELETED]
2012年 9月 16日 (日) 02:11:08 JST
お世話になっております。秋穂と申します。
Teeda + S2hibarnate環境で開発を行っています。Daoでinsertする際に更新日時を自動で設定するinterceptorを実装しようと思っていますがうまくいかず、ご質問させて頂きました。
当方では下記の設定をしていますが、Daoでinsertを呼び出す際にinterceptorが動きません。どのようにすればinterceptorが動くかご教授頂けますでしょうか? ※情報に不足がある場合はご指摘下さい。
・<root-package>.interceptorパッケージにInsertInterceptorクラスを実装 (AbstractInterceptorを継承)・insertを発行する際はs2hibernateにて実施・同様な設定をcustomizer.diconのlogicCustomizerにしたところ、うまくinterceptorされました
以下、ソースコード ※一部投稿用に修正しています。----------------------------------------
【xxDaoのインターフェース】 public interface XxDao { public void insert(Entity entity); }
【Daoを使用するクラス】 public class xxLogicImpl implements TicketPageEditorLogic { public XxDao xxDao;
public void testMethod(Entity entity) { xxDao.insert(entity); }
【customizer.dicon】〜省略〜 <component name="daoCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain"> <!-- 独自interceptor定義 --> <initMethod name="addAspectCustomizer"> <arg>"insertInterceptor"</arg> <arg>"insert"</arg> </initMethod>
<initMethod name="addCustomizer"> <arg>traceCustomizer</arg> </initMethod>
</component>〜省略〜
【interceptorの実装】〜省略〜public class InsertInterceptor extends AbstractInterceptor {
private static final long serialVersionUID = 1L;
@Override public Object invoke(MethodInvocation invocation) throws Throwable {
System.out.println("InsertInterceptor!!!!!!!!!!!!!!!!!!!!!!!!!");
String className = getTargetClass(invocation).getName(); System.out.println(className);
invocation.proceed(); return null; }}
以上です。お手数おかけしますが、ご確認よろしくお願い致します。
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <https://www.seasar.org/archives/seasar-user/attachments/20120916/325c03f1/attachment.html>
Seasar-user メーリングリストの案内