当前位置: 首页 > news >正文

做网站设计制作的公司西安高端网站建设

做网站设计制作的公司,西安高端网站建设,西安网站建设咪豆互联,公司网站制作平台开发注意事项 简介1. 查询条件照成的OOM问题原因注意事项 2. 因为事务导致数据查询不到问题原因注意事项 简介 这篇文章主要是想记录在开发过程中遇到的坑已经注意事项。 1. 查询条件照成的OOM 问题 SIT 环境内存突然暴增,直接打到100%,导致服务频繁…

开发注意事项

  • 简介
  • 1. 查询条件照成的OOM
    • 问题
    • 原因
    • 注意事项
  • 2. 因为事务导致数据查询不到
    • 问题
    • 原因
    • 注意事项

简介

这篇文章主要是想记录在开发过程中遇到的坑已经注意事项。

1. 查询条件照成的OOM

问题

SIT 环境内存突然暴增,直接打到100%,导致服务频繁FullGC, 照成服务不可用,然后dump 日志没有打印出来,需要根据日志去分析情况。

原因

经过排查,是一个 查询SQL导致表全量返回,导致内存打满了。

 		SELECT * FROM sales_orderWHERE row_status = 1<if test="dataList != null and !dataList.isEmpty()">and sales_order_no in<foreach collection="dataList" open="(" close=")" item="orderNo" separator=",">#{orderNo}</foreach></if>

这个SQL的本意是想根据销售单号批量查询销售单,但是因为入参为空,导致全量查询了销售单表, 导致内存爆满,OOM

注意事项

凡是这类查询操作,一定要在 Repository 层调用 DAO 的地方做判断。数据不合法的不允许查询数据库,防止OOM

  1. 强制:项目中不允许出现全表全量查询的SQL,要么SQL显式控制,
  2. 强制:对于可能出现全表查询的SQL, 需要在在 Repository 层强制校验。

2. 因为事务导致数据查询不到

问题

出现的业务问题是这样的,一个新增操作,插入数据库之后发送消息,其他域监听到消息后会反查数据做处理。但是其他域在接收到消息后进行反查没有查到数据。

原因

根本原因是在入口方法中添加了事务注解:@Transactional(rollbackFor = Throwable.class), 然后在方法中操作数据库,然后发送消息,导致发送消息的时候还没有提交事务,就有可能导致外部系统接收到消息后反查无数据。

注意事项

  1. 建议:Rest/ Dubbo 方法入口不要添加事务注解,可能会引起以上问题
  2. 建议:添加事务注解时要注意事务的传播机制。
  3. 强制:发送外部事件消息时一定要在事务提交后。
http://www.ds6.com.cn/news/8306.html

相关文章:

  • 那些网站可以做海报明星百度指数排名
  • 更改wordpress程序站点网址东莞seo靠谱
  • 淄博网站建设制作seo方法图片
  • 哪些网站做批发衣服刷关键词怎么刷
  • 网站一般建什么在线网页制作
  • 建设网站方面的知识徐州seo公司
  • 做网站seo手游推广渠道平台
  • 手机免费做网站六安seo
  • 顺义成都网站建设百度推广的方式有哪些
  • 网站重复深圳seo公司助力网络营销飞跃
  • 株洲seo网站推广深圳排名seo公司
  • 昵图网 图库 素材seo公司优化方案
  • win7 iis设置网站首页郑州网站关键词优化公司哪家好
  • 电子商务网站规划与建设的论文中国seo排行榜
  • 备案号如何绑定多个网站app推广刷量
  • 东营网站推广凤凰网台湾资讯
  • 上海企业网站制作多少钱百度平台电话
  • 做刀模线网站google chrome浏览器
  • 大型门户网站建设包括哪些方面京津冀协同发展
  • 什么是虚拟网站贴吧高级搜索
  • 有域名了 怎么做网站百度问答兼职怎么做
  • seo搜索引擎优化技术教程网站搜索引擎优化的基本内容
  • 新网站seo技术seo实战培训费用
  • wordpress水印图片插件免费网站做seo
  • 网站开发企业开发国内比较好的软文网站
  • 真人棋牌网站怎么做怎么样引流加微信
  • 城建网正规seo需要多少钱
  • 兰州网站在哪备案seo教程seo入门讲解
  • wordpress设置后台自定义功能选项重庆百度seo整站优化
  • 有没有免费装修设计的网站如何制作一个个人网站