内容简介:本周又发布了一个修复版本 修复了Saga事物嵌套回滚的Bug 修复注解实现TargetAdditional在翻页查询中不起作用的Bug 感谢网友使用BeetlSQL的高阶功能并给予详细反馈 Saga事务例子 SagaContext sagaContext = Saga...
本周又发布了一个修复版本
- 修复了Saga事物嵌套回滚的Bug
- 修复注解实现TargetAdditional在翻页查询中不起作用的Bug
感谢网友使用BeetlSQL的高阶功能并给予详细反馈
SagaContext sagaContext = SagaContext.sagaContextFactory.current();
try {
sagaContext.start(gid);
//模拟调用俩个微服务,订单和用户
rest.postForEntity(orderAddUrl, null,String.class, paras);
rest.postForEntity(userBalanceUpdateUrl, null,String.class, paras);
if (1 == 1) {
throw new RuntimeException("模拟失败,查询saga-server 看效果");
}
sagaContext.commit();
} catch (Exception e) {
log.info("error " + e.getMessage(),e);
log.info("start rollback " + e.getMessage());
sagaContext.rollback();
return e.getMessage();
}
TargetAdditional 在多租户使用例子,添加租户路由信息
SchemaTenantUser user = sqlManager.unique(SchemaTenantUser.class,1);
String sql = "select * from ${schema}.sys_user ";
List<SchemaTenantUser> list = sqlManager.execute(sql,SchemaTenantUser.class,new HashMap());
System.out.println(list.get(0));
模型定义
@Data
@Table(name="${schema}.sys_user")
@SchemaTenant
public static class SchemaTenantUser{
@Auto
private Integer id;
@Column("name")
private String name;
}
/**
* 每个租户一个库
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(value = {ElementType.TYPE})
@Builder(SchemaTenantContext.class) //注解实现类
public @interface SchemaTenant {
}
public class SchemaTenantContext implements TargetAdditional { public static ThreadLocal<String> tenantSchemaLocals = new ThreadLocal<>(); @Override public Map<String, Object> getAdditional(ExecuteContext ctx, Annotation an) { String schema = tenantSchemaLocals.get(); if(schema==null){ throw new IllegalStateException("缺少租户信息"); } Map map = new HashMap(); map.put("schema",schema); return map; } }
Maven
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetlsql</artifactId>
<version>3.3.13-RELEASE</version>
</dependency>
BeetlSQL 研发自2015年,目标是提供开发高效,维护高效,运行高效的数据库访问框架,它适用范围广,性能高,维护性好,写起数据库访问代码特别顺滑。目前支持的数据库如下
- 传统数据库:MySQL,MariaDB,Oralce,Postgres,DB2,SQL Server,H2,SQLite,Derby,神通,达梦,华为高斯,人大金仓,PolarDB 等
- 大数据:HBase,ClickHouse,Cassandar,Hive
- 物联网时序数据库:Machbase,TD-Engine,IotDB
- SQL查询引擎:Drill,Presto,Druid
- 内存数据库:ignite,CouchBase
BeetlSQL也支持IDEA插件,提供向导和自动提示
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 扒网站工具 v2.0 发布,发布模版计算工具等
- 数据生成工具 ZenData 发布 1.6 版本,內置 Web 版数据设计工具
- SteamTools 2.4.1 发布,包含多种 Steam 工具功能的工具箱
- 数据生成工具 ZenData 发布 1.7 版本,全新设计工具带来更佳体验
- Doxygen 3 发布,文档生成工具
- 百度云盘小工具 1.6 发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法:C语言实现
塞奇威克 / 机械工业出版社 / 2006-9 / 69.00元
本书是Sedgewick彻底修订和重写的C算法系列的第一本。全书分为四部分,共16章,第一部分“基础知识”(第1-2章)介绍基本算法分析原理。第二部分“数据结构”(第3-5章)讲解算法分析中必须掌握的数据结构知识,主要包括基本数据结构,抽象数据结构,递归和树。一起来看看 《算法:C语言实现》 这本书的介绍吧!