在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:ww20081120/framework开源软件地址:https://github.com/ww20081120/framework开源编程语言:Java 100.0%开源软件介绍:Framework 3.X 框架说明更新说明
框架介绍Framework框架集成了log、cache、db、message、rule、tx,每块都以模块形式组织,可以根据项目需要获取模块。
framework-db 具有以下特征:
接口和SQL文件对应目录接口文件[EmpDao.java] @Dao
public interface EmpDao {
@Sql("select * from emp")
List<Map<String,Object>> selectAll();
@Sql("select * from emp where empno = :empno")
Map<String,Object> selectOne(@Param("empno") int empno);
@Sql(value="select * from emp where deptno = :dept.deptno", bean=Emp.class)
List<Emp> selectDeptEmp(@Param("deptno")Dept dept, @Param(Param.pageIndex)int pageIndex,@Param(Param.pageSize)int pageSize);
@Sql(bean = Emp.class)
List<Emp> queryEmp(@Param("dept") Dept dept);
@Sql("select count(*) from emp")
int listCount(ResultTransformer transformer);
}
SQL文件[EmpDao_queryEmp.sql] select * from emp
where 1=1
#if($dept)
and deptno=$dept.deptno
#end 测试代码[test.java] @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({
"classpath:/META-INF/spring/*.xml"
})
@Transactional
public class EmpService {
@Resource
private EmpDao empDao;
@Test
public void test() {
try {
Dept dept = new Dept();
dept.setDeptno(30);
System.out.println("------------------");
System.out.println(empDao.queryEmp(dept).size());
System.out.println("------------------");
}
catch (Exception e) {
e.printStackTrace();
}
}
} framework-tx 分布式事务:实际生产过程中因为硬件故障、网络故障、依赖第三方系统故障给我们带来了很多麻烦。原来的重试补偿功能都是写在各业务模块,增加了很多额外的开发工作量,在加上开发人员水平也不一致也很难全面的考虑各种稳定性问题,所以研发出该模块用于解决微服务业务模块不稳定问题。因业务要求,不允许出现失败回滚场景,该模块只实现了事务补偿。 原理:通过N次重试,跳过执行成功的部分,一直重试失败部分,来达到业务最终执行完成。(N次失败后可以通知人工来进行解决)。 实际场景举例: 用户购买了商品,当微信支付成功后,突然订单模块数据库宕机了。 当数据库修复后,之前丢失的订单能正确处理。 具有以下特征:
测试代码[TestProducter.java]@RestController
public class TestProducter {
@Resource
private FeginClient2Consumer feClient2Consumer;
@GetMapping
@Tx
public String test(@RequestParam("id") String id) {
String value1 = TxInvokerProxy.invoke("client2", () -> {
return feClient2Consumer.test(id);
});
System.out.println(value1);
return value1;
}
}
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论