修改密码

请输入密码
请输入密码 请输入8-64长度密码 和 email 地址不相同 至少包括数字、大写字母、小写字母、半角符号中的 3 个
请输入密码
提交

修改昵称

当前昵称:
提交

申请证书

证书详情

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

服务器的MAC地址

Please complete this required field.

Please complete this required field.

取消
申请
ID
产品
状态
核数
申请天数
审批时间
过期时间
MAC地址
申请理由
审核信息
关闭
基础信息
  • 用户昵称:
  • 手机号:
  • 公司名称:
  • 公司邮箱:
  • 地区:
  • 语言:
修改密码
申请证书

当前未申请证书.

申请证书
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

ProductName CreateTime ID Price File
ProductName CreateTime ID Price File

No Invoice

搜索
    中文

      连接与各类配置

      UltipaConfiguration

      UltipaConfiguration用于配置连接嬴图数据库时所需的服务器信息。

      配置项
      类型
      默认值
      说明
      hosts String 嬴图服务器或集群(英文逗号隔开)的IP地址或URL地址(不包括 "https://" 或 "http://")
      username String 嬴图服务器用户名
      password String 上述用户名对应的密码
      passwordEncrypt String MD5 password的加密方式;可配置为MD5或LDAP,或者NOTHING(不进行加密);配置内容为空时使用NOTHING
      timeout Integer 15 请求超时时间(秒)
      connectTimeout Integer 2000 连接超时时间(毫秒),默认每个节点试三次
      consistency Boolean false 是否使用leader保证读一致性
      crt String 设置为本地证书地址时,使用SSL连接,并且需要设置overrideAuthority;设置为"https"时(要求hosts填写的URL使用HTTPS协议),使用公共证书;忽略此项或设置为空时,使用非SSL连接
      keepAlive Integer 120 当连接的空闲状态超过设定的时长(秒)时,向服务器发送保活探测信息,这会增加一定的服务负载
      keepAliveWithoutCalls Boolean false 当连接处于空闲状态时,是否启用保活机制
      overrideAuthority String 使用'ultipa'覆盖'hostname'来匹配服务器的证书
      maxRecvSize Integer 4MB 接收数据的最大字节数
      defaultGraph String default 连接时使用的图集名称
      heartBeat Integer 10000 所有实例的心跳时间(毫秒),0为关闭心跳
      poolConfig PoolConfig 连接池配置

      示例:创建一个集群连接,配置时使用default图集,实例化UltipaClientDriver时使用amz图集

      public class Main {
          public static void main(String[] args) {
              UltipaConfiguration configuration = UltipaConfiguration.config()
                      .hosts("192.168.1.85:60061,192.168.1.86:60061,192.168.1.87:60061")
                      .username("root")
                      .password("root");
      
      		UltipaClientDriver driver = null;
      		try {
      			driver = new UltipaClientDriver(configuration);
      			Connection conn = driver.getConnection("amz");
      
      			String reply = conn.sayHello("Hi");
      			System.out.println(reply);
      		} finally {
      			if (driver != null) {
      				driver.close();
      			}
      		}
          }
      }
      

      PoolConfig

      PoolConfig用于配置连接嬴图数据库时所需的连接池(Apache Common-Pool)信息。

      配置项 类型 默认值 说明
      maxIdle int 8 最大空闲数
      minIdle int 0 最小空闲数
      maxTotal int 8 最大池对象总数
      minEvictableIdleTimeMillis long 1800000 逐出连接的最小空闲时间(毫秒)
      timeBetweenEvictionRunsMillis long -1 逐出扫描的时间间隔(毫秒),设置为负数则不运行逐出线程
      maxWaitMillis long -1 最大等待时间(毫秒),设置为负数则无限等待
      testOnBorrow boolean false 在获取对象的时候检查有效性
      testOnReturn boolean true 在归还对象的时候检查有效性
      testWhileIdle boolean true 在空闲时检查有效性
      lifo bool true 是否启用后进先出
      blockWhenExhausted boolean true 连接耗尽时是否阻塞直到超时,false时会在连接耗尽时报异常
      numTestsPerEvictionRun int 3 每次逐出检查时逐出的最大数目

      示例:创建一个连接,使用default图集,并对连接池进行配置

      public class Main {
          public static void main(String[] args) {
              UltipaConfiguration configuration = UltipaConfiguration.config()
                      .hosts("192.168.1.85:60061,192.168.1.86:60061,192.168.1.87:60061")
                      .username("***")
                      .password("***");
      
              PoolConfig poolConfig = configuration.getPoolConfig();
              poolConfig.setMaxIdle(50);
              poolConfig.setMinIdle(2);
              poolConfig.setMaxTotal(200);
      
              UltipaClientDriver driver = null;
              try {
                  driver = new UltipaClientDriver(configuration);
                  Connection conn = driver.getConnection();
      
                  String reply = conn.sayHello("Hi");
                  System.out.println(reply);
              } finally {
                  if (driver != null) {
                      driver.close();
                  }
              }
          }
      }
      

      ultipa.properties

      ultipa.properties为配置文件,用于存放连接嬴图数据库时所需的server、连接池信息。

      ultipa.properties文件需放置于Java项目的classpath下,基于Maven架构的Java项目的classpath默认为'./src/main/resources'。

      各配置项的取值顺序为:优先使用UltipaConfiguration的配置,其次为ultipa.properties文件,都没有的使用默认值。

      示例:用配置文件创建一个连接

      ultipa.hosts=192.168.1.85:60061,192.168.1.86:60061,192.168.1.87:60061
      ultipa.username=root
      ultipa.password=root
      ultipa.passwordEncrypt=NOTHING
      ultipa.defaultGraph=amz
      # ultipa.crt=F:\\ultipa.crt
      # ultipa.overrideAuthority=ultipa
      # ultipa.crt=https
      # ultopa.crt=
      ultipa.keepAlive=180
      ultipa.keepAliveWithoutCalls=true
      ultipa.pool.maxIdle=50
      ultipa.pool.minIdle=20
      ultipa.pool.maxTotal=200
      ultipa.pool.timeBetweenEvictionRunsMillis=3600000
      ultipa.pool.testOnBorrow=true
      

      public class Main {
          public static void main(String[] args) {     
              UltipaClientDriver driver = null;
              try {
                  driver = new UltipaClientDriver();
                  Connection conn = driver.getConnection();
      
                  String reply = conn.sayHello("Hi");
                  System.out.println(reply);
              } finally {
                  if (driver != null) {
                      driver.close();
                  }
              }
          }
      }
      

      DataSource

      DataSrouce用于配置与嬴图数据库连接时所需的信息,以及与连接池相关的信息。

      使用DataSrouce创建UltipaClientDriver且同时提供了ultipa.properties文件时:

      • 数据库连接的配置、连接池的配置都将以DataSrouce为准,而忽略ultipa.properties文件中的信息。

      示例:创建一个连接,使用DataSource进行数据库连接配置与连接池配置

      public class Main {
          public static void main(String[] args) {
              UltipaConfiguration configuration = UltipaConfiguration.config()
                      .hosts("192.168.1.85:60061,192.168.1.86:60061,192.168.1.87:60061")
                      .username("***")
                      .password("***");
      
              PoolConfig poolConfig = configuration.getPoolConfig();
              poolConfig.setMaxIdle(50);
              poolConfig.setMinIdle(2);
              poolConfig.setMaxTotal(200);
      
              DataSource dataSource = new DataSource();
              dataSource.setUltipaConfiguration(configuration);
              dataSource.setDefaultGraph("amz");
      
              UltipaClientDriver driver = null;
              try {
                  driver = new UltipaClientDriver(DataSource);
                  Connection conn = driver.getConnection();
      
                  String reply = conn.sayHello("Hi");
                  System.out.println(reply);
              } finally {
                  if (driver != null) {
                      driver.close();
                  }
              }
          }
      }
      

      RequestConfig

      RequestConfig用于向嬴图数据库发送非插入类请求时进行相关的配置。

      配置项 类型 默认值 说明
      graphName String 当前请求使用的图集名,不设置则使用连接配置时的defaultGraph
      timeout int 15 请求超时时间(秒),不设置则使用连接配置时的timeout
      host String 使用指定的主机进行请求,不设置则随机选择一台主机
      useMaster boolean False 是否使用leader进行请求来保证读一致性
      threadNum int 当前请求使用的线程数

      示例:创建连接时使用default图集,执行嬴图GQL查询时使用amz图集并发送给集群的leader

      public class Main {
          public static void main(String[] args) {
              UltipaConfiguration configuration = UltipaConfiguration.config()
                      .hosts("192.168.1.85:60061,192.168.1.86:60061,192.168.1.87:60061")
                      .username("***")
                      .password("***");
      
              UltipaClientDriver driver = null;
              try {
                  driver = new UltipaClientDriver(configuration);
                  Connection conn = driver.getConnection();
      
                  String reply = conn.sayHello("Hi");
                  System.out.println(reply);
                
                  RequestConfig requestConfig = new RequestConfig();
                  requestConfig.setGraphName("amz");
                  requestConfig.setUseMaster(true);
              
                  Response res = conn.uql("find().nodes() as nodes return nodes{*} limit 10", requestConfig);
                  List<Node> nodeList = res.alias("nodes").asNodes();
                  for(int i = 0; i < nodeList.size(); i ++){
                      System.out.println("node " + i + " is: " + nodeList.get(i).toJson());
                  }
              } finally {
                  if (driver != null) {
                      driver.close();
                  }
              }
      
          }
      }
      

      InsertRequestConfig

      InsertRequestConfig用于向嬴图数据库发送插入类请求时进行相关的配置。

      配置项 类型 默认值 说明
      graphName String 当前请求使用的图集名,不设置则使用连接配置时的defaultGraph
      timeout int 15 请求超时时间(秒),不设置则使用连接配置时的timeout
      host String 使用指定的主机进行请求,不设置则随机选择一台主机
      useMaster boolean false 是否使用leader进行请求来保证读一致性
      insertType Ultipa.InsertType NORMAL 插入操作的类型(NORMAL、UPSERT、OVERWRITE)
      createNodeIfNotExist boolean false 插入边时如果起点或终点不存在,是否自动插入起点或终点

      示例:创建连接时使用default图集,执行插入点时使用test图集并进行插入覆盖操作

      public class Main {
          public static void main(String[] args) {
              UltipaConfiguration configuration = UltipaConfiguration.config()
                      .hosts("192.168.1.85:60061,192.168.1.86:60061,192.168.1.87:60061")
                      .username("***")
                      .password("***");
      
      		UltipaClientDriver driver = null;
      		Connection conn;
              try {
                  driver = new UltipaClientDriver(configuration);
                  conn = driver.getConnection();
      
                  String reply = conn.sayHello("Hi");
                  System.out.println(reply);
                  InsertRequestConfig insertRequestConfig = new InsertRequestConfig();
                  insertRequestConfig.setGraphName("test");
                  insertRequestConfig.setInsertType(Ultipa.InsertType.OVERWRITE);
      
                  List<Node> nodeList = new ArrayList<>();
                  Node node1 = new Node();
                  node1.setSchema("client");
                  node1.setID("CLIENT00001");
                  nodeList.add(node1);
                  Node node2 = new Node();
                  node2.setSchema("card");
                  node1.setID("CARD00004");
                  nodeList.add(node2);
              } finally {
                  if (driver != null) {
                      driver.close();
                  }
              }
      
            
              conn.insertNodesBatchAuto(nodeList, insertRequestConfig);
          }
      }
      
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写