修改密码

请输入密码
请输入密码 请输入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 用于配置连接 Ultipa 数据库时所需的 server 信息。

      配置项 类型 默认值 说明
      hosts String Ultipa 数据库集群地址列表,用英文逗号隔开
      username String 用户名
      password String 密码
      timeout Integer 15 请求超时时间(秒)
      connectTimeout Integer 2000 连接超时时间(毫秒),默认每个节点试三次
      consistency Boolean false 是否使用 leader 保证读一致性
      crt String crt证书路径,使用 ssl 连接方式时需提供证书,且需要设置 overrideAuthority
      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("***")
                      .password("***");
      
      		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 用于配置连接 Ultipa 数据库时所需的连接池(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 false 在归还对象的时候检查有效性
      testWhileIdle boolean false 在空闲时检查有效性
      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 为配置文件,用于存放连接 Ultipa 数据库时所需的 server、连接池信息。

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

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

      • 数据库连接的配置将优先使用 ultipa.properties 中的信息,ultipa.properties 中不包含的项再以 UltipaConfiguration 的配置为准;
      • 连接池的配置将以 ultipa.properties 中的信息为准,而忽略 PoolConfig 的配置。

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

      ultipa.hosts=192.168.1.85:60061,192.168.1.86:60061,192.168.1.87:60061
      ultipa.username=root
      ultipa.password=root
      ultipa.defaultGraph=amz
      # ultipa.crt=F:\\ultipa.crt
      # ultipa.overrideAuthority=ultipa
      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 用于配置与 Ultipa 数据库连接时所需的信息,以及与连接池相关的信息。

      使用 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 用于向 Ultipa 数据库发送非插入类请求时进行相关的配置。

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

      示例:创建连接时使用 default 图集,执行 UQL 查询时使用 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 用于向 Ultipa 数据库发送插入类请求时进行相关的配置。

      配置项 类型 默认值 说明
      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");
                  node2.setID("CARD00004");
                  nodeList.add(node2);
                  conn.insertNodesBatchAuto(nodeList, insertRequestConfig);
              } finally {
                  if (driver != null) {
                      driver.close();
                  }
              }
      
          }
      }
      
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写