本文整理汇总了Java中com.sleepycat.je.SecondaryConfig类的典型用法代码示例。如果您正苦于以下问题:Java SecondaryConfig类的具体用法?Java SecondaryConfig怎么用?Java SecondaryConfig使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SecondaryConfig类属于com.sleepycat.je包,在下文中一共展示了SecondaryConfig类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: open
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
public void open() {
sort_duplicates = false;
super.open();
try {
SecondaryConfig dbConfig = new SecondaryConfig();
dbConfig.setAllowCreate(true);
if (storage.getBerkleyEnvironment().getConfig().getTransactional()) {
dbConfig.setTransactional(true);
}
dbConfig.setKeyCreator(PlainSecondaryKeyCreator.getInstance());
dbConfig.setSortedDuplicates(true);
secondaryDb = storage.getBerkleyEnvironment().openSecondaryDatabase(null, SECONDARY_DB_NAME_PREFIX + name,
db, dbConfig);
}
catch (Throwable t) {
throw new HGException("While attempting to open index ;" + name + "': " + t.toString(), t);
}
}
示例2: openSecondaryDatabase
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
SecondaryDatabase openSecondaryDatabase(String dbName,
Database primaryDatabase,
SecondaryConfig config)
throws DatabaseException {
if (config.getReadOnly()) {
synchronized (roSecondaryDatabaseHandleCache) {
return openSecondaryDatabaseInternal
(roSecondaryDatabaseHandleCache, dbName,
primaryDatabase, config);
}
} else {
synchronized (rwSecondaryDatabaseHandleCache) {
return openSecondaryDatabaseInternal
(rwSecondaryDatabaseHandleCache, dbName,
primaryDatabase, config);
}
}
}
示例3: openSecondary
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
private SecondaryDatabase openSecondary(Database priDb, String dbName,
boolean dups, int keyId)
throws DatabaseException {
SecondaryConfig dbConfig = new SecondaryConfig();
dbConfig.setTransactional(isTransactional);
dbConfig.setAllowCreate(true);
dbConfig.setSortedDuplicates(dups);
if (useMultiKey) {
dbConfig.setMultiKeyCreator
(new SimpleMultiKeyCreator(new MyKeyCreator(keyId)));
} else {
dbConfig.setKeyCreator(new MyKeyCreator(keyId));
}
Transaction txn = txnBegin();
try {
return env.openSecondaryDatabase(txn, dbName, priDb, dbConfig);
} finally {
txnCommit(txn);
}
}
示例4: openSecondary
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
private SecondaryDatabase openSecondary(Database priDb,
String dbName,
boolean dups)
throws DatabaseException {
SecondaryConfig dbConfig = new SecondaryConfig();
dbConfig.setTransactional(isTransactional);
dbConfig.setAllowCreate(true);
dbConfig.setSortedDuplicates(dups);
dbConfig.setMultiKeyCreator(new MyKeyCreator());
Transaction txn = txnBegin();
try {
return env.openSecondaryDatabase(txn, dbName, priDb, dbConfig);
} finally {
txnCommit(txn);
}
}
示例5: open
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
private void open()
throws DatabaseException {
EnvironmentConfig envConfig = TestUtils.initEnvConfig();
envConfig.setAllowCreate(true);
env = new Environment(envHome, envConfig);
DatabaseConfig priConfig = new DatabaseConfig();
priConfig.setAllowCreate(true);
priDb = env.openDatabase(null, "pri", priConfig);
SecondaryConfig secConfig = new SecondaryConfig();
secConfig.setAllowCreate(true);
secConfig.setSortedDuplicates(true);
secConfig.setKeyCreator(new KeyCreator());
secDb = env.openSecondaryDatabase(null, "sec", priDb, secConfig);
}
示例6: openSecondary
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
/**
* Opens the secondary database.
*/
private SecondaryDatabase openSecondary(Database priDb, String dbName,
boolean allowDuplicates)
throws DatabaseException {
SecondaryConfig dbConfig = new SecondaryConfig();
dbConfig.setTransactional(isTransactional);
dbConfig.setAllowCreate(true);
dbConfig.setSortedDuplicates(allowDuplicates);
if (useMultiKey) {
dbConfig.setMultiKeyCreator
(new SimpleMultiKeyCreator(new MyKeyCreator()));
} else {
dbConfig.setKeyCreator(new MyKeyCreator());
}
Transaction txn = txnBegin();
SecondaryDatabase secDb;
try {
secDb = env.openSecondaryDatabase(txn, dbName, priDb, dbConfig);
} finally {
txnCommit(txn);
}
return secDb;
}
示例7: openSecondaryDb
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
private SecondaryDatabase openSecondaryDb(Database primary,
String file,
String keyName)
throws Exception {
SecondaryConfig secConfig = new SecondaryConfig();
DbCompat.setTypeBtree(secConfig);
secConfig.setTransactional(true);
secConfig.setAllowCreate(true);
DbCompat.setSortedDuplicates(secConfig, true);
secConfig.setKeyCreator(factory.getKeyCreator(MarshalledObject.class,
keyName));
return DbCompat.openSecondaryDatabase(env, null,
file, null,
primary, secConfig);
}
示例8: openSecondaryDb
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
private SecondaryDatabase openSecondaryDb(TupleSerialFactory factory,
String keyName,
Database primary,
String file,
Database foreignStore)
throws Exception {
TupleSerialMarshalledKeyCreator keyCreator =
factory.getKeyCreator(MarshalledObject.class, keyName);
SecondaryConfig secConfig = new SecondaryConfig();
secConfig.setTransactional(testEnv.isTxnMode());
secConfig.setAllowCreate(true);
secConfig.setKeyCreator(keyCreator);
if (foreignStore != null) {
secConfig.setForeignKeyDatabase(foreignStore);
secConfig.setForeignKeyDeleteAction(onDelete);
secConfig.setForeignKeyNullifier(keyCreator);
}
return DbCompat.openSecondaryDatabase(env, null, file, null,
primary, secConfig);
}
示例9: openSecondaryDb
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
private SecondaryDatabase openSecondaryDb(TupleSerialFactory factory,
String keyName,
Database primary,
String file,
Database foreignStore)
throws Exception {
SecondaryConfig secConfig = new SecondaryConfig();
secConfig.setTransactional(testEnv.isTxnMode());
secConfig.setAllowCreate(true);
secConfig.setKeyCreator(factory.getKeyCreator(MarshalledObject.class,
keyName));
if (foreignStore != null) {
secConfig.setForeignKeyDatabase(foreignStore);
secConfig.setForeignKeyDeleteAction(
ForeignKeyDeleteAction.CASCADE);
}
return DbCompat.openSecondaryDatabase(env, null,
file, null,
primary, secConfig);
}
示例10: openSecondaryDatabase
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
/**
* Returns null if the database is not found (and AllowCreate is false) or
* already exists (and ExclusiveCreate is true).
*/
public static SecondaryDatabase
openSecondaryDatabase(Environment env,
Transaction txn,
String fileName,
String dbName,
Database primaryDatabase,
SecondaryConfig config) {
assert fileName == null;
try {
return env.openSecondaryDatabase(txn, dbName, primaryDatabase,
config);
} catch (DatabaseNotFoundException e) {
return null;
} catch (DatabaseExistsException e) {
return null;
}
}
示例11: testOpenSecondaryDatabase
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
/**
* Fires an assertion if the database is not found (and AllowCreate is
* false) or already exists (and ExclusiveCreate is true).
*/
public static SecondaryDatabase
testOpenSecondaryDatabase(Environment env,
Transaction txn,
String file,
String name,
Database primary,
SecondaryConfig config) {
try {
return env.openSecondaryDatabase(txn, makeTestDbName(file, name),
primary, config);
} catch (DatabaseNotFoundException e) {
assert false;
return null;
} catch (DatabaseExistsException e) {
assert false;
return null;
}
}
示例12: openSecondaryDatabase
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
SecondaryDatabase openSecondaryDatabase(String dbName,
Database primaryDatabase,
SecondaryConfig config)
throws DatabaseException {
if (config.getReadOnly()) {
synchronized (roSecondaryDatabaseHandleCache) {
return openSecondaryDatabaseInternal
(roSecondaryDatabaseHandleCache, dbName,
primaryDatabase, config);
}
} else {
synchronized (rwSecondaryDatabaseHandleCache) {
return openSecondaryDatabaseInternal
(rwSecondaryDatabaseHandleCache, dbName,
primaryDatabase, config);
}
}
}
示例13: defaultSecondaryConfig
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
/**
* Default {@link SecondaryConfig}, {allowCreate: true, sortedDuplicates: true} with given {@link SecondaryKeyCreator}
* @param keyCreator
* @return
*/
public static SecondaryConfig defaultSecondaryConfig(SecondaryKeyCreator keyCreator) {
SecondaryConfig cfg = new SecondaryConfig();
cfg.setAllowCreate(true);
//Duplicates are frequently required for secondary databases
cfg.setSortedDuplicates(true);
cfg.setTransactional(true);
cfg.setKeyCreator(checkNotNull(keyCreator, "SecondaryKeyCreator cannot be null"));
return cfg;
}
示例14: getSecondaryConfig
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
public synchronized SecondaryConfig getSecondaryConfig(Class entityClass,
String keyName) {
checkOpen();
String entityClsName = entityClass.getName();
EntityMetadata entityMeta = checkEntityClass(entityClsName);
SecondaryKeyMetadata secKeyMeta = checkSecKey(entityMeta, keyName);
String keyClassName = getSecKeyClass(secKeyMeta);
String secName = makeSecName(entityClass.getName(), keyName);
return (SecondaryConfig) getSecondaryConfig
(secName, entityMeta, keyClassName, secKeyMeta).cloneConfig();
}
示例15: setSecondaryConfig
import com.sleepycat.je.SecondaryConfig; //导入依赖的package包/类
public synchronized void setSecondaryConfig(Class entityClass,
String keyName,
SecondaryConfig config) {
checkOpen();
String entityClsName = entityClass.getName();
EntityMetadata entityMeta = checkEntityClass(entityClsName);
SecondaryKeyMetadata secKeyMeta = checkSecKey(entityMeta, keyName);
String keyClassName = getSecKeyClass(secKeyMeta);
String secName = makeSecName(entityClass.getName(), keyName);
if (secIndexMap.containsKey(secName)) {
throw new IllegalStateException
("Cannot set config after DB is open");
}
SecondaryConfig dbConfig =
getSecondaryConfig(secName, entityMeta, keyClassName, secKeyMeta);
if (config.getSortedDuplicates() != dbConfig.getSortedDuplicates() ||
config.getBtreeComparator() != dbConfig.getBtreeComparator() ||
config.getDuplicateComparator() != null ||
config.getAllowPopulate() != dbConfig.getAllowPopulate() ||
config.getKeyCreator() != dbConfig.getKeyCreator() ||
config.getMultiKeyCreator() != dbConfig.getMultiKeyCreator() ||
config.getForeignKeyNullifier() !=
dbConfig.getForeignKeyNullifier() ||
config.getForeignMultiKeyNullifier() !=
dbConfig.getForeignMultiKeyNullifier() ||
config.getForeignKeyDeleteAction() !=
dbConfig.getForeignKeyDeleteAction() ||
config.getForeignKeyDatabase() != null) {
throw new IllegalArgumentException
("One of these properties was illegally changed: " +
" SortedDuplicates, BtreeComparator, DuplicateComparator," +
" AllowPopulate, KeyCreator, MultiKeyCreator," +
" ForeignKeyNullifer, ForeignMultiKeyNullifier," +
" ForeignKeyDeleteAction, ForeignKeyDatabase");
}
secConfigMap.put(secName, config);
}