首页 > 解决方案 > Phoenix JDBC 查询 - 为什么不在用户之间同步查询?

问题描述

问题是当我在多个用户中发送请求时,查询不会同时执行,这使得第二个用户等待第一个用户从服务器获得响应然后执行他的查询,

关于查询的示例代码

   _this.query = function(sql) {
    console.log("query");
    return new Promise((resolve, reject) => {

      try {
        _this.conn.createStatement(function(err, statement) {
          if (err) {
            reject(err);
          } else {
            console.log("created statement");
            statement.executeQuery(sql, function(err, resultset) {
              console.log("execute query");
              if (err) {
                reject(err);
              } else {
                resultset.toObjArray(function(errRes, results) {
                  if (errRes) reject(errRes);
                  else resolve(results);
                });
              }
            });
          }
        });
      } catch (e) {
        reject(e);
      }
    });
  };

这是该查询对 2 个用户的响应,您可以看到第一个执行,而第二个等待第一个得到响应, 在此处输入图像描述

这是 jdbc 配置

var config = {
  drivername: "org.apache.phoenix.jdbc.PhoenixDriver",
  // url: 'jdbc:phoenix:pPhoenix0:2181:/hbase-unsecure',
  url:"jdbc:phoenix:localhost:2181:/hbase-unsecure",
  user: "",
  password: "",
  // minpoolsize: 10,
  maxpoolsize: 100
};

标签: javanode.jsjdbcphoenix

解决方案


推荐阅读