- 浏览: 11054 次
- 性别:
- 来自: 杭州
最新评论
-
u011654693:
很有深度啊小伙子
关于spring的注解事务优先级的问题 -
shiyuan1551:
引用[u][/u]
基于antlr3的json分析器实现json到java业务对象转化
文章列表
网上看了一些zookeeper对于分布式的实现,基本思路都是zookeeper顺序的临时节点,然后取最小的节点编号的方式,释放锁就是把这个临时节点删除,这个实现思路基本上正确的,但是有一些细节却可能出问题,zookeeper都是基于watch ...
有些系统通信涉及到跨平台,其中hessian是可以做.net和java平台之间报文,hessian里面有一个最重要的东西就是序列化,但是用过java的人都知道序列化的时候如果是私有对象的,是不可能被外部对象读取,存在get/set方法也不是必须 ...
最近遇到一个问题对spring的注解事务有一个全新的认识,网上的资料有得说xml比注解高,有得说xml比注解低低,而我最开始的认为注解比xml要高,首先在系统在xml里面配置了事务方式,但是最近遇到一个业务的时候出现了一个 ...
系统有些表类型是xml结构,db2在9.5以后提供了xml数据字段类型,基于xmlquery可以很做xml字段的更新的,添加属性等操作,
update biz.rei_form_detail
set defined_field = xmlquery('
copy $new := $c
modify do replace value of $new/root/Field[@FieldName="InTime"]/@FieldName with "ReiContent"
...
人总是在鄙视中成长,学无止境,在分布式环境经常会遇到操作多个数据库的情况,这个具体取决于业务的分库设计,如果一个对外的接口同时要操作两个库的话,那么怎么保证一致性就是很大的问题,传统的基于JTA的全局事务管理,他们的事务管理基于XA协议,他们之间的事务感知基于数据库等支持XA协议的可管理器资源,这个方法当然是被鄙视的,呵呵,对于互联网来说JTA容器来说太重了,同时在性能上也不能满足,那么应该有一种更轻量级的方式去解决这个问题
对于多个数据库操作,唯一要关心的是他们之间可以相互感知,也就是说第一个方法必须知道后续的事务方法的情况,根据后续事务的情况来考虑操作,比如可以写成
publ ...
java web
- 博客分类:
- 分布式事务的一点感想
今天心情有点郁闷,不够自己也成长了一点,最起码对于最终一致性有一个看法,在互联网公司服务都是基于soa化走接口调用,那么必然要做差错处理,由于涉及到分布式系统,导致事务一致性就必然受到影响,银行的普通做法都是做补偿交易,但是如果这个交易是幂等的话那么就是另外一个情况,幂等的数学表达为ff(x) = y就是相同的输入,无论执行多少次的函数都是相同的输出,在分布式的系统的含义就是相同的接口报文调用外部服务以后,必然等到和上一次一样的结果,这样soa服务就是一个幂等的服务,这样的最大的好处是保证最终一致性,可以不停的重试,这个重试策略可以自己定义,我想到的幂等的报文必须在报文体里面标示字段,最好的就是 ...
分析json的方式有很多,使用antlr做json的分析在性能上肯定不怎么好,比较涉及到语法语义的分析,同时把json转成java对象的话,那么肯定要基于ast去做,所以在性能上肯定没有原生的好,这里只是提供一种解决思路,比较做原生的json分析,肯定用antlr的话更加的直观一点,下面是antlr的两个分析文件的内容
首先是普通解析器的语法文件
grammar JSON;
options
{
backtrack=true;
memoize=true;
output=AST;
ASTLabelType=CommonTree;
k=1;
}
tok ...
BitSet bitset = new BitSet();
int[] arrs = new int[]{3,4,7,34,90,1,3,2,45,23,23,11,2,20,30,50,39,1,123,12,400,401,230,33,6};
for (int i = 0; i < arrs.length; i++) {
bitset.set(arrs[i]);
}
for(int i = 0; i < bitset.length(); i++){
if(bitset.get(i))
System.out.print(i ...
4月初,面试了杭州某知名的IT公司,感觉自己没什么准备,面试的差强人意,最后和机会擦肩而过,甚为可惜。。不过人生不可能总是一帆风顺,算是给自己的成长吧!!面试中的几道面试题,自己回去也想了一下,感觉面试官说的也值得商榷。。。
首先第一个问题是说怎么避免数据库死锁,假设有A,B,C三张表,这个问题我后面越想越有问题,他的意思只要按照一定的顺序从A->B->C的顺序获得没条记录的行锁就可以避免死锁,第一天晚上回来就想有问题,首先想一个场景,比如工作流的时候,代办任务审批,假设有一个task表表示待办记录,同时流程流转有一个流转实例表,现在,现在我一个审批有多个领导审批,那么通 ...