本文整理汇总了Java中org.apache.zookeeper.Op.getPath方法的典型用法代码示例。如果您正苦于以下问题:Java Op.getPath方法的具体用法?Java Op.getPath怎么用?Java Op.getPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.zookeeper.Op
的用法示例。
在下文中一共展示了Op.getPath方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getPendingChanges
import org.apache.zookeeper.Op; //导入方法依赖的package包/类
/**
* Grab current pending change records for each op in a multi-op.
*
* This is used inside MultiOp error code path to rollback in the event
* of a failed multi-op.
*
* @param multiRequest
*/
HashMap<String, ChangeRecord> getPendingChanges(MultiTransactionRecord multiRequest) {
HashMap<String, ChangeRecord> pendingChangeRecords = new HashMap<String, ChangeRecord>();
for(Op op: multiRequest) {
String path = op.getPath();
try {
ChangeRecord cr = getRecordForPath(path);
if (cr != null) {
pendingChangeRecords.put(path, cr);
}
} catch (KeeperException.NoNodeException e) {
// ignore this one
}
}
return pendingChangeRecords;
}
示例2: getPendingChanges
import org.apache.zookeeper.Op; //导入方法依赖的package包/类
/**
* Grab current pending change records for each op in a multi-op.
*
* This is used inside MultiOp error code path to rollback in the event
* of a failed multi-op.
*
* @param multiRequest
* @return a map that contains previously existed records that probably need to be
* rolled back in any failure.
*/
HashMap<String, ChangeRecord> getPendingChanges(MultiTransactionRecord multiRequest) {
HashMap<String, ChangeRecord> pendingChangeRecords = new HashMap<String, ChangeRecord>();
for (Op op : multiRequest) {
String path = op.getPath();
ChangeRecord cr = getOutstandingChange(path);
// only previously existing records need to be rolled back.
if (cr != null) {
pendingChangeRecords.put(path, cr);
}
/*
* ZOOKEEPER-1624 - We need to store for parent's ChangeRecord
* of the parent node of a request. So that if this is a
* sequential node creation request, rollbackPendingChanges()
* can restore previous parent's ChangeRecord correctly.
*
* Otherwise, sequential node name generation will be incorrect
* for a subsequent request.
*/
int lastSlash = path.lastIndexOf('/');
if (lastSlash == -1 || path.indexOf('\0') != -1) {
continue;
}
String parentPath = path.substring(0, lastSlash);
ChangeRecord parentCr = getOutstandingChange(parentPath);
if (parentCr != null) {
pendingChangeRecords.put(parentPath, parentCr);
}
}
return pendingChangeRecords;
}
示例3: getPendingChanges
import org.apache.zookeeper.Op; //导入方法依赖的package包/类
/**
* Grab current pending change records for each op in a multi-op.
*
* This is used inside MultiOp error code path to rollback in the event
* of a failed multi-op.
*
* @param multiRequest
* @return a map that contains previously existed records that probably need to be
* rolled back in any failure.
*/
private Map<String, ChangeRecord> getPendingChanges(MultiTransactionRecord multiRequest) {
Map<String, ChangeRecord> pendingChangeRecords = new HashMap<String, ChangeRecord>();
for (Op op : multiRequest) {
String path = op.getPath();
ChangeRecord cr = getOutstandingChange(path);
// only previously existing records need to be rolled back.
if (cr != null) {
pendingChangeRecords.put(path, cr);
}
/*
* ZOOKEEPER-1624 - We need to store for parent's ChangeRecord
* of the parent node of a request. So that if this is a
* sequential node creation request, rollbackPendingChanges()
* can restore previous parent's ChangeRecord correctly.
*
* Otherwise, sequential node name generation will be incorrect
* for a subsequent request.
*/
int lastSlash = path.lastIndexOf('/');
if (lastSlash == -1 || path.indexOf('\0') != -1) {
continue;
}
String parentPath = path.substring(0, lastSlash);
ChangeRecord parentCr = getOutstandingChange(parentPath);
if (parentCr != null) {
pendingChangeRecords.put(parentPath, parentCr);
}
}
return pendingChangeRecords;
}
示例4: getPendingChanges
import org.apache.zookeeper.Op; //导入方法依赖的package包/类
/**
* Grab current pending change records for each op in a multi-op.
*
* This is used inside MultiOp error code path to rollback in the event
* of a failed multi-op.
*
* @param multiRequest
* @return a map that contains previously existed records that probably need to be
* rolled back in any failure.
*/
private Map<String, ChangeRecord> getPendingChanges(MultiTransactionRecord multiRequest) {
HashMap<String, ChangeRecord> pendingChangeRecords = new HashMap<String, ChangeRecord>();
for (Op op : multiRequest) {
String path = op.getPath();
ChangeRecord cr = getOutstandingChange(path);
// only previously existing records need to be rolled back.
if (cr != null) {
pendingChangeRecords.put(path, cr);
}
/*
* ZOOKEEPER-1624 - We need to store for parent's ChangeRecord
* of the parent node of a request. So that if this is a
* sequential node creation request, rollbackPendingChanges()
* can restore previous parent's ChangeRecord correctly.
*
* Otherwise, sequential node name generation will be incorrect
* for a subsequent request.
*/
int lastSlash = path.lastIndexOf('/');
if (lastSlash == -1 || path.indexOf('\0') != -1) {
continue;
}
String parentPath = path.substring(0, lastSlash);
ChangeRecord parentCr = getOutstandingChange(parentPath);
if (parentCr != null) {
pendingChangeRecords.put(parentPath, parentCr);
}
}
return pendingChangeRecords;
}