论坛首页 Java企业应用论坛

答复: 我的struts2配置,间接实现零配置

浏览 1231 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2008-06-25  
jxd1976 写道
colin4k 写道
另外以上代码是经测试通过的,今天加上了事务的控制,自己写了个Interceptor


这个零配置不错,把事务控制的代码也贴上来,学习一下。

web根目录下的index.jsp怎么处理?


事务控制主要有以下几个步骤,
第一、TransactionInterceptor的部分代码
protected String doIntercept(ActionInvocation invocation) throws Exception {
		String result = null;
		PlatformTransactionManager transactionManager = (PlatformTransactionManager) BeanLoader
				.getBean("transactionManager");
		DefaultTransactionDefinition def = new DefaultTransactionDefinition();
		
		def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
		def.setReadOnly(false);
		TransactionStatus transactionStatus = transactionManager
				.getTransaction(def);
		try {
			result = invocation.invoke();
			transactionManager.commit(transactionStatus);
		}
		catch (Exception e) {
			transactionManager.rollback(transactionStatus);
			logger.error("action error,rollback transaction.");
			throw e;
		}
		return result;
	}

第二、定义用于事务的拦截器

<interceptor name="transactionInterceptor" class="TransactionInterceptor">
	<param name="includeMethodsPrefix">act,deal</param>
</interceptor> 

includeMethodsPrefix参数用于定义以这些字符串开头的方法都采用事务控制。

第三、配置拦截器到Action上,这个就不用写了。
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics