专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » webservice:WebService中事务的多种控制方法 »正文

webservice:WebService中事务的多种控制方法

来源: 发布时间:星期四, 2008年10月16日 浏览:2次 评论:0
public class UpdateBussiness extends HibernateDaoSupport implements Iupdate {

public String NewBrda(String mzhm, Long brxz, String brxm, Integer brxb,
String csny, String hkdz, String jtdh, String bxhm,String czgh) {


//开启一个独立的事务,需独立取得rowid并需将结果马上写回数据库.(手动管理)

Session session = getHibernateTemplate().getSessionFactory().openSession();

Transaction tran = session.beginTransaction();

Long ll_rowid;

GyIdentity iden = (GyIdentity)session.load(GyIdentity.class,"MS_BRDA",LockMode.UPGRADE);

ll_rowid = iden.getValue();

ll_rowid = ll_rowid + 1;

iden.setValue(ll_rowid);

try{
session.saveOrUpdate(iden);
tran.commit();
}catch(Exception ex){
tran.rollback();
log4j.error(mzhm+","+brxm+":"+errlist.getError_1());
return "-1";
}finally{
session.clear();
session.close();
}
//事务结束


MsYgpjId pjid = new MsYgpjId();
pjid.setPjlx(new Long(3));
pjid.setYgdm(czgh);


MsYgpj ygpj = (MsYgpj)getHibernateTemplate().get(MsYgpj.class,pjid);

if(ygpj==null){

log4j.error(mzhm+","+brxm+":"+errlist.getError_3());

  //请一定注意以下语句,实现spring框架的自动事务管理时,对于根据需要返回结果,

//不进行事务提交时,一定要清空hibernate的缓存,

//如不然,webservice成功调用结束后,缓存内的数据仍会写回数据库。
getHibernateTemplate().clear();
return "-3";
}

getHibernateTemplate().update(ygpj);
MsBrda brda = new MsBrda();
brda.setBrid(ll_rowid);
brda.setBrxb(new Long(brxb));
brda.setBrxm(brxm);
brda.setBrxz(brxz);
brda.setBxhm(bxhm);
brda.setCsny(date1);
brda.setHkdz(hkdz);
brda.setJtdh(jtdh);

getHibernateTemplate().save(brda); //需进行自动事务管理

return mzhm_new;;
}
}



在applicationContext.xml中自动事务管理的配置,如下:

<bean id="UpdateBussiness" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">

<property name="transactionManager" ref="transactionManager"/>

<property name="target" ref="UpdateHib"/>

<property name="transactionAttributes">

<props>

<prop key="*">PROPAGATION_REQUIRED</prop>

</props>

</property>

</bean>

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: