complete() public méthode

public complete ( ) : void
Résultat void
Exemple #1
0
        /*2个数据库的事务,后面的根据前面的执行结果再决定要不要跟进(在同一个函数内,分布式)*/
        public static void test_db2_tran2()
        {
            DbContext db = DbConfig.pc_user;
            DbContext db2 = DbConfig.pc_base;

            //1.建立主事务,并执于
            DbTranQueue queue = new DbTranQueue();

            //1.建立主事务,并执于
            db.tran().join(queue).execute((t) => {
                db.sql("insert into test(txt) values(?)", "cc").tran(t).execute();
                db.sql("insert into test(txt) values(?)", "dd").tran(t).execute();
                db.sql("insert into test(txt) values(?)", "ee").tran(t).execute();

                queue.result = 1;
            });

            //2.根据执行结果判断
            if ((int) queue.result == 1) {
                //3.执行第二个事务
                db2.tran().join(queue).execute((t)=> {
                    db2.sql("insert into test(txt) values(?)", "gg").tran(t).execute();
                });//json(tran) 时,会自动调用 await(true);  当 await(true)时,需要之后的事务来触发或手动触发
            }

            //4.统一触发事务
            queue.complete();
        }
Exemple #2
0
        //不同函数串一起,跨多个数据库(分布式)
        public static void tast_tran()
        {
            DbTranQueue queue = new DbTranQueue();//空事务,只提供最后的complete服务;

            try {
                //以下操作在同一个事务队列里执行(各事务独立)
                tast_db1_tran(queue);
                tast_db2_tran(queue);
                tast_db3_tran(queue);
            }
            finally {
                //确保事务有完成的执行
                queue.complete();
            }
        }
Exemple #3
0
        /*2个数据库的事务(在同一个函数内,分布式)*/
        public static void test_db2_tran()
        {
            DbContext db = DbConfig.pc_user;
            DbContext db2 = DbConfig.pc_base;

            //1.建立主事务,并执于
            DbTranQueue queue = new DbTranQueue();

            db.tran().join(queue).execute((t) => {
                db.sql("insert into test(txt) values(?)", "cc").tran(t).execute();
                db.sql("insert into test(txt) values(?)", "dd").tran(t).execute();
                db.sql("insert into test(txt) values(?)", "ee").tran(t).execute();
            });

            //2.执行第二个事务
            db2.tran().join(queue).execute((t) => {
                db2.sql("insert into test(txt) values(?)", "gg").tran(t).execute();
            });

            queue.complete();
        }