@Override
  public void close() throws Exception {
    if (Objects.isNull(clsID)) {
      return;
    }

    synchronized (CLS_ID_TO_REFERENCE_COUNT_AND_HANDLE_MAP) {
      final Pair<AtomicInteger, OpcDaServerHandle> pair =
          CLS_ID_TO_REFERENCE_COUNT_AND_HANDLE_MAP.get(clsID);
      if (pair == null) {
        return;
      }

      if (pair.getLeft().decrementAndGet() <= 0) {
        try {
          pair.getRight().close();
        } finally {
          CLS_ID_TO_REFERENCE_COUNT_AND_HANDLE_MAP.remove(clsID);
        }
      }
    }
  }
Send data in IoTDB based on Opc Da protocol, using JNA. All data are converted into tablets, and
then push the newest value to the <b>local COM</b> server in another process.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/opcda/OpcDaConnector.java