Esempio n. 1
0
  /**
   * セル配下のエンティティを一括削除する.
   *
   * @param cellId 削除対象のセルID
   * @param unitUserName ユニットユーザ名
   */
  public void cellBulkDeletion(String cellId, String unitUserName) {
    // AdsのCell配下のエンティティはバッチにて削除するので
    // Cell削除管理テーブルに削除対象のDB名とセルIDを追加する
    insertCellDeleteRecord(unitUserName, cellId);
    DataSourceAccessor accessor = EsModel.dsa(unitUserName);

    // セルIDを指定してelasticsearchからセル関連エンティティを一括削除する
    DcQueryBuilder matchQuery = DcQueryBuilders.matchQuery("c", cellId);
    try {
      accessor.deleteByQuery(cellId, matchQuery);
      log.info("KVS Deletion Success.");
    } catch (EsClientException e) {
      // 削除に失敗した場合はログを出力して処理を続行する
      log.warn(
          String.format(
              "Delete CellResource From KVS Failed. CellId:[%s], CellUnitUserName:[%s]",
              cellId, unitUserName),
          e);
    }
  }