在com.ferry.daoService的配置文件增加对事务和OracleSequence的配置,并发布服务
PKGID
8
在com.ferry.databaseService用到事务控制,该bundle中spring-dm配置文件如下
PROPAGATION_REQUIRED
transactionInterceptor
*Service
上面定义的对以Service结尾的bean中,_itransc结尾的方法做事务控制。
导入需要的依赖bundle和包
事务方法如下
@Override
public void insertHeroes_itransc(List heroList) throws Exception{
try {
for(Hero hero:heroList){
sqlDao_i.insertRecord("hero.insert", hero);
}
} catch (DataAccessException e) {
logger.error("[DatabaseService:insertHeroes_itransc] insert hero to db error!",e);
throw e;
}
}
在com.ferry.bussinessService中要用到oracle 的sequence,需要在该bundle的component中添加服务引用
public void _insertHero(CommandInterpreter ci){
if(databaseService!=null&&localSequenceForPkgid!=null){
List heroList = new ArrayList();
Hero hero = new Hero();
hero.setPkgid(localSequenceForPkgid.nextStringValue());
hero.setName("Tiny");
hero.setBlood(600);
hero.setMana(200);
heroList.add(hero);
heroList.add(hero);
try {
databaseService.insertHeroes_itransc(heroList);
} catch (Exception e) {
logger.error("insert hero to db error!");
}
}else {
logger.error("init error!");
}
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7317705/viewspace-1116550/ ,如需转载,请注明出处,否则将追究法律责任。