You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- /*
- * 版权属于:yitter(yitter@126.com)
- * 开源地址:https://gitee.com/yitter/idgenerator
- */
- module yitter.idgen.YitIdHelper;
-
- import yitter.idgen.DefaultIdGenerator;
-
- import yitter.contract.IIdGenerator;
- import yitter.contract.IdGeneratorException;
- import yitter.contract.IdGeneratorOptions;
-
- import std.concurrency : initOnce;
-
- /**
- * 这是一个调用的例子,默认情况下,单机集成者可以直接使用 nextId()。
- */
- class YitIdHelper {
-
- private __gshared IIdGenerator idGenInstance = null;
-
- static IIdGenerator getIdGenInstance() {
- return initOnce!idGenInstance(new DefaultIdGenerator(new IdGeneratorOptions(1)));
-
- }
-
- /**
- * 设置参数,建议程序初始化时执行一次
- */
- static void setIdGenerator(IdGeneratorOptions options) {
- idGenInstance = new DefaultIdGenerator(options);
- }
-
- /**
- * 生成新的Id
- * 调用本方法前,请确保调用了 SetIdGenerator 方法做初始化。
- *
- * @return
- */
- static long nextId() {
- return getIdGenInstance().newLong();
- }
- }
|