Java 类com.mongodb.ErrorCategory 实例源码
项目:incubator-rya
文件:MongoEntityStorage.java
@Override
public void create(final Entity entity) throws EntityStorageException {
requireNonNull(entity);
try {
final boolean hasDuplicate = detectDuplicates(entity);
if (!hasDuplicate) {
mongo.getDatabase(ryaInstanceName)
.getCollection(COLLECTION_NAME)
.insertOne( ENTITY_CONVERTER.toDocument(entity) );
} else {
throw new EntityNearDuplicateException("Duplicate data found and will not be inserted for Entity with Subject: " + entity);
}
} catch(final MongoException e) {
final ErrorCategory category = ErrorCategory.fromErrorCode( e.getCode() );
if(category == ErrorCategory.DUPLICATE_KEY) {
throw new EntityAlreadyExistsException("Failed to create Entity with Subject '" + entity.getSubject().getData() + "'.", e);
}
throw new EntityStorageException("Failed to create Entity with Subject '" + entity.getSubject().getData() + "'.", e);
}
}
项目:incubator-rya
文件:MongoEventStorage.java
@Override
public void create(final Event event) throws EventStorageException {
requireNonNull(event);
try {
mongo.getDatabase(ryaInstanceName)
.getCollection(COLLECTION_NAME)
.insertOne(EVENT_CONVERTER.toDocument(event));
} catch(final MongoException e) {
final ErrorCategory category = ErrorCategory.fromErrorCode( e.getCode() );
if(category == ErrorCategory.DUPLICATE_KEY) {
throw new EventAlreadyExistsException("Failed to create Event with Subject '" + event.getSubject().getData() + "'.", e);
}
throw new EventStorageException("Failed to create Event with Subject '" + event.getSubject().getData() + "'.", e);
}
}
项目:mongobee
文件:LockDao.java
public boolean acquireLock(MongoDatabase db) {
Document insertObj = new Document(KEY_PROP_NAME, LOCK_ENTRY_KEY_VAL).append("status", "LOCK_HELD");
// acquire lock by attempting to insert the same value in the collection - if it already exists (i.e. lock held)
// there will be an exception
try {
db.getCollection(lockCollectionName).insertOne(insertObj);
} catch (MongoWriteException ex) {
if (ex.getError().getCategory() == ErrorCategory.DUPLICATE_KEY) {
logger.warn("Duplicate key exception while acquireLock. Probably the lock has been already acquired.");
}
return false;
}
return true;
}
项目:Camel
文件:MongoDbIdempotentRepository.java
@ManagedOperation(description = "Adds the key to the store")
@Override
public boolean add(E key) {
Document document = new Document("_id", key);
try {
collection.insertOne(document);
} catch (com.mongodb.MongoWriteException ex) {
if (ex.getError().getCategory() == ErrorCategory.DUPLICATE_KEY) {
return false;
}
throw ex;
}
return true;
}