天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 1949|回复: 5

[已解决] 有关系统的ID号

[复制链接]
沈阳东软 发表于 2012-5-11 09:30:56 | 显示全部楼层 |阅读模式
本帖最后由 purple 于 2012-5-18 14:03 编辑

您好,用BPM自动生成的ID代码,请问此ID的相关规则是什么?
1.比如说ID不能在全部表单数据里重复或者只是在当前表单不能重复。
2.如果多个部署在不同机器上的应用同时访问一个数据库,生成的ID号有没有可能重复?
我用多台机器访问同一个数据库控制台有时候报ID重复的错误(不是每次都出现),但是我只是用1台机器访问一个数据库时就不会出现这样的问题。
purple 发表于 2012-5-11 09:40:06 | 显示全部楼层
您好,平台自动生成的ID的生成规则使用的是UUID,不会重复的呀。您第二点说的,是多台机器同时操作一个软件吗?如果是,我们这边之前做项目以及测试,都是这样子操作的,并没有遇到您反馈的问题哦。
 楼主| 沈阳东软 发表于 2012-5-11 09:58:31 | 显示全部楼层
其实我会有这样的想法是因为用户选择框,我使用不用的机器访问同一个数据库的时候,看见的在线用户不一样,我才合计可能是因为机器之间的信息相互隔离了。
具体现象我也不能重现,因为不是每次都出现。哦 对啦 我把生成ID的代码截出来放到DocumentProcessBean.java里面了 方便我写脚本暴露出的接口,不知道这样会有影响么?
purple 发表于 2012-5-11 10:49:10 | 显示全部楼层
您好,在线用户是当前系统的所有在线人,您说的不同机器上看到的在线人不一样,是在同一个时间点吗?没太看懂您说的“方便我写脚本暴露出的接口”是什么意思,是否会影响,需要看您具体是做什么操作。
 楼主| 沈阳东软 发表于 2012-5-14 09:29:17 | 显示全部楼层
恩恩 是在同一时间
        public  String getSequence() throws SequenceException {
                UUIDGenerator gen = UUIDGenerator.getInstance();
                org.safehaus.uuid.UUID uuid = gen.generateTimeBasedUUID();

                String uuidStr = uuid.toString();
                String[] uuidParts = uuidStr.split("-");
                StringBuffer builder = new StringBuffer();
                builder.append(uuidParts[2]);
                builder.append("-");
                builder.append(uuidParts[1]);
                builder.append("-");
                builder.append(uuidParts[0]);
                builder.append("-");
                builder.append(uuidParts[3]);
                builder.append("-");
                builder.append(uuidParts[4]);

                return builder.toString();
        }
上述方法被添加到DocumentProcessBean.java类中
哦 对啦 还有一个问题就是如果我把上述代码和关联的jar包抽出来放到其他工程的源码中 然后在同时使用会出现ID重复的问题么?~
purple 发表于 2012-5-14 09:53:11 | 显示全部楼层
您好,UUID是全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。您也可在网页上查看相关说明。所以正常情况下应该都不会出现重复的。如果您那边有所重复,请提供具体的操作步骤,以便我们这边还原重现,谢谢。

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 10:23

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表