[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 メーリングリストの案内