⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bklyindex.java

📁 短信开发用于文件交换处理转发的类模块
💻 JAVA
字号:
package com.pub.berkeleydb;

import org.apache.log4j.*;
import com.sleepycat.je.*;

/**
 *
 */
public class BklyIndex {

  private static Logger log = Logger.getLogger(BklyIndex.class);
  private BklyDatabase _db = null;
  private IIndexCreator _ic = null;
  private SecondaryDatabase _idx = null;

  public BklyIndex(IIndexCreator ic) {
    _ic = ic;
  }

  public int open(String name,  BklyDatabase db) {
    return open(name, db,  true);
  }

  public int open(String name, BklyDatabase db,  boolean trans) {
    if (_ic == null) {
      return -1;
    }
    if (db == null) {
      return -2;
    }

    try {
      if (db.getOriginDB().getConfig().getSortedDuplicates()) {
        return -3;
      }
    }
    catch (Throwable err) {
      return -4;
    }
    _db = db;

    SecondaryConfig idxCfg = new SecondaryConfig();

    try {
      idxCfg.setReadOnly(_db.getOriginDB().getConfig().getReadOnly());
      idxCfg.setAllowCreate(_db.getOriginDB().getConfig().getAllowCreate());
      idxCfg.setSortedDuplicates(true);
      idxCfg.setAllowPopulate(true);
      idxCfg.setTransactional(trans);
      idxCfg.setKeyCreator(_ic);
      _idx = db.getOriginEnv().openSecondaryDatabase(null, name, db.getOriginDB(),
          idxCfg);
    }
    catch (Throwable err) {
      log.error(null, err);
      return -5;
    }

    return 0;
  }

  public void close() {
    try {
      _idx.close();
    }
    catch (Throwable err) {
      log.error(null, err);
    }
    _idx = null;
  }

  public Database getOriginDB() {
    return _db.getOriginDB();
  }

  public BklyDatabase getBklyDB() {
    return _db;
  }

  public Environment getOriginEnv() {
    return _db.getOriginEnv();
  }

  public BklyEnv getBklyEnv() {
    return _db.getBklyEnv();
  }

  public SecondaryDatabase getOriginIndex() {
    return _idx;
  }

  public IIndexCreator getIndexCreator() {
    return _ic;
  }

  protected void finalize()
  {
    if(_idx != null) close();
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -