java 板


LINE

小弟的系统有一需求 就是编号原则都是 年月日+三位流水号(001开始) 资料库为 Oracle 10g 由於有 Load Balance 多台AP 所以Java本身的synchronized的modifier无效 由於每日编号都要重编 所以不能用Sequence 所以每次这样的需求 都会采用 Insert 的 Table Lock 进行实做 会先开启一个 DB Lock 的 Table 只有一个栏位 那栏位即为PK 当然 DB 的 Isolation Level 为 2 以上 (Read committed) 取号程式大致如下: 1. 设Connection的Autocommit属性为false 2. 塞入固定值入 DB Lock 的 Table 然後 删除 3. 取得今日编号的最大号码 若有则+1 若无则从001开始 4. 新增一笔编号纪录 5. Commit 由於DB的Lock机制 所以有多个User同时存取时 会停留在第2点 保证同一时间点内 取号不会重复 小弟我查过下面的文章 看起来这机制应该是没问题的 http://download.oracle.com/docs/cd/B14117_01/server.101/b10743/consist.htm 可是有两个问题想请教板上的高手: 1. 不知道这样的作法 是否有风险 如网路瞬断 会不会导致整个取号Method出问题 2. 不知道有没有其他作法 谢谢 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.184.25.55







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP