甲方日常 20

用户头像
大橘子
关注
发布于: 2020 年 09 月 22 日
甲方日常 20

成长

晚上和朋友聊天,说道目前已经32了,之前有挺多想做的东西,但是碍于工作和家庭没有时间去做,有些遗憾。但是想想,如果现在开始也不算晚,只是每个人的家庭都不一样。传统的职称考试以前也有过打算,考过中级结果公司也不聘任,企业这边也没什么具体的说法和流程,也可能是有但是不清晰吧。高级之前打算考,结果来了疫情。现在想想还是应该考一下,但是不知道家庭因素会是什么样。



20200922

上午

  • 上午把虚拟化扩容的情况和领导汇报了下,终于敲定了版本和具体参数等。

  • 把公司防病毒升级的合同及报价确认一下,也敲定了。

  • 和乙方沟通确认了讨论代码的时间。

  • 通知组内人开会及提前梳理的问题。给回复了几个之前说过的问题。其实说是回复不如说是把以前的邮件给直接截图发过去。



中午有跑了趟电信营业厅,得到的答复依然是没有千兆或万兆的光猫。好悲催啊。



下午

  • 看乙方反馈的代码问题,今天又遇到了个比较“懵”的回复。

  • 与总集成商沟通合同细节,把合同细节敲定。然后发邮件等领导确认。

上面说的比较懵的问题是这样的:

代码里通过AOP配置了Spring的事务,代码例子如下

@Bean
public TransactionInterceptor txAdvice() {
DefaultTransactionAttribute attrRequired = new DefaultTransactionAttribute();
attrRequired.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
...
NameMatchTransactionAttributeSource source = new NameMatchTransactionAttributeSource();
source.addTransactionalMethod("save*", attrRequired);
source.addTransactionalMethod("add*", attrRequired);
source.addTransactionalMethod("insert*", attrRequired);
...
return new TransactionInterceptor(transactionManager, source);
}

上面的其实很好理解了,然后在业务代码中发现又对方法里单独加了@Transactional的注解。代码示例如下:

@Transactional(rollbackFor = Exception.class)
public List<Long> addList(List<A> aList) {
...
logicBeanService.addList1(aList);
...
logicListMapper.updateByPrimaryKeySelective(id);
}



按照自己的经验,如果是这么加了,肯定是拦截失败了。可能是调用的其他方法中的数据库操作没有被拦截道,或者有其他线程情况。但是发现都没有类似的情况。按自己的理解既然已经有事务了,里面的方法也能被拦截到,根据事务的传播特性自然会加入到addList的这个事务中。

于是问了下乙方,乙方给的回复是业务内做事务的强限制。自己不太理解,明天Junit测试一下。感觉看别人代码多了,总怀疑自己的知识点是不是错误了。



晚上和朋友聊天,发现挺多时候码农真是青春饭,而自己却不愿意承认。干一辈子的是挺多,但谁知道是不是幸存者偏差呢?教主说,VMware Workstation 16支持k8s了,有空还得试试。



封面来源:媳妇手绘的,如需使用,请联系我.

联系方式:先在评论里说吧,还没想好是否要留邮箱.



发布于: 2020 年 09 月 22 日 阅读数: 15
用户头像

大橘子

关注

某农业公司码农 2018.03.21 加入

学而未成 持续学习

评论

发布
暂无评论
甲方日常 20