异步批量写入记录

Navigation:  Java > API接口 >

异步批量写入记录

Previous pageReturn to chapter overviewNext page

 

函数:

public void saveSnapshotsNowait(List<Integer> tagIDArray, List<HDRecord> snapRecords, HDErrcode errCode) throws HDSdkException

 

参数:

参数名称

数据类型

参数说明

默认值

tagIDArray

List<Integer>

所要写入的id序列

 

snapRecords

List<HDRecord>

所要写入的记录数组

 

errCode

HDErrcode

[out]用来判断成功或者部分成功的错误码

 

异常:

当后台写入出错时,向上抛出HDSdkException异常

 

说明:

该接口用于异步批量写入记录。

可能需要先进行登录操作,请参考HDDataConnection类

 

示例代码:

注: 标记为红色的代码行为当前接口的调用

import com.baosight.hdjni.HDErrcode;

import com.baosight.hdsdk.HDConnectionFactory;

import com.baosight.hdsdk.HDDataWriter;

import com.baosight.hdsdk.HDServerFactory;

import com.baosight.hdsdk.domain.data.HDDataConnection;

import com.baosight.hdsdk.domain.data.HDDataServer;

import com.baosight.hdsdk.domain.data.HDRecord;

import com.baosight.hdsdk.exception.HDSdkException;

 

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

 

public class IhdJavaSdkAPI {

   public static void main(String[] args) {

       // 设置服务器信息

       String serverIP = "168.2.237.1";

       String bakIp = "168.2.237.2";

       HDDataServer server = HDServerFactory.getHDDataServer(serverIP,5673,bakIp,5673);

       HDDataConnection dataConn = null;

       try {

           dataConn = HDConnectionFactory.getHDDataConnection(server);

           dataConn.loginToServer("admin", "admin");

           HDDataWriter dw = new HDDataWriter(dataConn);

          List<Integer> tagIDArray = new ArrayList<>();

           tagIDArray.add(1);

           tagIDArray.add(2);

           HDRecord record = new HDRecord();

           Date now = new Date();

           record.setSecond(now.getTime() / 1000);

           record.setQuality(192);       //此处数据质量必须为192

           record.setValueStr("1");

           List<HDRecord> hdRecordList = new ArrayList<>();

           hdRecordList.add(record);

           dw.saveSnapshots(tagIDArray, hdRecordList, new HDErrcode());

           dataConn.dispose();

       } catch (HDSdkException e) {

           e.printStackTrace();

       }

   }

}