社区
分析与设计
帖子详情
[高分]关于DB层,如何实现失败重试一次?
HimeTale
2008-10-09 10:35:49
大意就是所有的数据库请求都经过这个层
失败的时候由这个层再做一次
没想到具体的实现方法
做过类似框价的给我讲讲原理或让我看看代码吧
...全文
188
29
打赏
收藏
[高分]关于DB层,如何实现失败重试一次?
大意就是所有的数据库请求都经过这个层 失败的时候由这个层再做一次 没想到具体的实现方法 做过类似框价的给我讲讲原理或让我看看代码吧
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
29 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hangang7403
2008-10-14
打赏
举报
回复
顶
sxmonsy
2008-10-11
打赏
举报
回复
[Quote=引用 8 楼 HimeTale 的回复:]
原始需求是:所有操作数据库的函数,如果遇到数据库异常,就重新执行一次.
[/Quote]
try
{
//执行第一次操作
}
catch
{
// 失败后再执行一回
};
shulei521
2008-10-11
打赏
举报
回复
..........
JeffChung
2008-10-11
打赏
举报
回复
顶
我也认为这种东西只是一个小技巧,跟什么层没关系,也不应该搞成什么框架
以专业开发人员为伍
2008-10-11
打赏
举报
回复
唉,说白了,就是简单的流程控制问题。跟循环语句、分支判断之类的类似。在“分层”这种看似很高级的问题下,简单的流程控制代码反而没胆量写出了。
以专业开发人员为伍
2008-10-11
打赏
举报
回复
上面这个abc例子,不管你放在哪一个“层”中,都是差不多的。它就是一种“方法执行失败重试一次”的小问题。
实际上,这更层有什么关系?没有什么实质的关系。任何层中均可以考虑这更本原的设计问题。
以专业开发人员为伍
2008-10-11
打赏
举报
回复
少写一个分号哦。
以专业开发人员为伍
2008-10-11
打赏
举报
回复
假设原来的方法是
public void abc(object arg)
{
....
}
那么,你可以把它改个名字叫做_abc,然后再写一个abc方法:
public void abc(object arg)
{
try
{
_abc(arg)
return; //第一次就成功啦
}
catch
{
};
thread.sleep(100); //不使用100,在一个范围内取得一个随机数更好。
_abc(arg); //这一次如果发生异常,会正常抛出。
}
delphi_new
2008-10-10
打赏
举报
回复
关注,这帖子肯定很火
redfox241
2008-10-10
打赏
举报
回复
try
{
first connection
}
catch
{
try
{
}
catch
{
second connection
}
}
qinhl99
2008-10-10
打赏
举报
回复
明白楼主的意思,但不建议都这么做!为什么要这么做呢?
redfox241
2008-10-10
打赏
举报
回复
try
{
first connection
}
catch
{
try
{
second connection
}
catch
{
}
}
以专业开发人员为伍
2008-10-09
打赏
举报
回复
如果这也成为框架了,就是学java社区中常见的那种过度设计、架空框架的做法了。
以专业开发人员为伍
2008-10-09
打赏
举报
回复
例如原来有个方法 abc,你把它改个名字,然后重新写一个abc,调用前边那个。
wwbjj007
2008-10-09
打赏
举报
回复
不太明白楼主的意思????
zero8500
2008-10-09
打赏
举报
回复
建个数据操作层就可以了
zero8500
2008-10-09
打赏
举报
回复
建个数据操作层就可以了
kingcsx666
2008-10-09
打赏
举报
回复
kao,失败了还继续操作,大部分同意失败,让用户决定把
paulin
2008-10-09
打赏
举报
回复
[Quote=引用 8 楼 HimeTale 的回复:]
原始需求是:所有操作数据库的函数,如果遇到数据库异常,就重新执行一次.
[/Quote]
在DB层函数返回值多设置几个,包括数据库异常,系统异常,参数异常等
然后调用层根据返回值判断,进行想要的操作,包括提示,重新执行等
DemonAngle
2008-10-09
打赏
举报
回复
帮顶
加载更多回复(9)
redis 与
db
双写数据一致性解决方案
本文的行文次序,首先介绍集中式缓存的缓存模式和数据一致性,然后介绍二级缓存的架构和数据一致性,最后介绍三级缓存的架构和数据一致性 指南2: 不吹牛,本文在全网数据一致性的所有博文中,绝对算是史上最全的。 本文最为全面的介绍了 redis 与
db
双写数据一致性解决方案, 当然, 会参考了最新的一些文章, 但是解决那些 复制来复制去的bug, 另外,本文增加了 L2 、L3 多级缓存的一致性问题 总之 本文非常经典,绝对的
高分
面试必备, 建议边学习、边思考,并且一定要实战 如果有问..
Redis与
DB
数据一致性 解决方案(图解+秒懂+史上最全)
文章很长,而且持续更新,建议收藏起来,慢慢读! Java 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 免费赠送 经典图书 : 极致经典 + 社群大片好评 《 Java 高并发 三部曲 》 面试必备 + 大厂必备 + 涨薪必备 免费赠送 经典图书 : 《Netty Zookeeper Redis 高并发实战》 面试必备 + 大厂必备 +涨薪必备 (加尼恩领取) 免费赠送 经典图书 : 《SpringCloud、Nginx高并发核心编程》 面试必备 + 大
软件测试面试题
性能测试面试题 不错的性能测试博客 https://www.cnblogs.com/zhongyehai/p/10327725.html 你们公司性能测试怎么做的?说一下流程是什么? 公司压测主要是针对公司的投保流程接口做压测,包括核心接口试算,核保,承保。 1.首先是确定压测目标,指标是TPS1200,响应时间小于1S,内存使用率小于百分之八十,cpu使用率小于百分之八十。 2.编写性能测试脚本,调试通过 3.使用命令监控操作系统服务器,数据库服务器 4.压测逐渐加压直到到瓶颈,单接口场..
“java
高分
面试指南”已现世!25大专题分类,227页1000+题50w
文中展示的资料包括:**《MySql思维导图》《MySql核心笔记》《MySql调优笔记》《MySql面试专题》《MySql性能优化的21个最佳实践》《MySq高级知识笔记》**如下图。3、你说的NoSQL数据库是什么意思?Dao接口里的方法,参数不同时,方法能重载吗?4、有两个篮子,分别为A和B,篮子A里装有鸡蛋,篮子B里装有苹果,请用面向对象的思想
实现
两个篮子里的物品交换(请用代码
实现
)58、简单描述 MySQL 中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)
Offer差点无缘?HUAWEI-4面技术5面HR,踩线挺过,kafka分布式事务原理
二:分享第一份: Java
高分
面试指南-25分类227 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》 【docs.qq.com/doc/DSmxTbFJ1cmN1R2
dB
】 完整内容开源分享 页1000+题50w+字解析 题目太多,我就不一一列举了,举例部分大家最感兴趣的 第一分类 JavaOOP面试题 第二分类 Java集合/泛型面试题 1、ArrayList和linkedList的区别 2、 HashMap和HashTable的区别 3、Collect
分析与设计
13,190
社区成员
5,761
社区内容
发帖
与我相关
我的任务
分析与设计
.NET技术 分析与设计
复制链接
扫一扫
分享
社区描述
.NET技术 分析与设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章