/** * Creates a transactor node using new transactor ID * * @param env Environment */ public TransactorNode(Environment env) { this(env, new TransactorID(env)); }
public TransactorID(CuratorFramework curator) { Preconditions.checkNotNull(curator); id = createID(curator); }
@VisibleForTesting public String getNodePath() { return ZookeeperPath.TRANSACTOR_TIMESTAMPS + "/" + tid.toString(); }
/** * Outputs identifier as String (using max radix) */ @Override public String toString() { return LongUtil.toMaxRadixString(getLongID()); }
@VisibleForTesting public String getNodePath() { return getNodePath(env, tid.getLongID()); }
/** * Retrieves transactor ID by first getting/creating transactor (which is only done until * necessary) */ private Long getTransactorID() { if (tnode == null) { tnode = env.getSharedResources().getTransactorNode(); } return tnode.getTransactorID().getLongID(); }
public synchronized TransactorID getTransactorID() { checkIfClosed(); if (tid == null) { tid = new TransactorID(env); } return tid; }
/** * Creates a transactor node using given transactor id * * @param env Environment * @param tid Transactor ID used to create node */ public TransactorNode(Environment env, TransactorID tid) { this.env = env; this.tid = tid; node = new PersistentEphemeralNode(env.getSharedResources().getCurator(), Mode.EPHEMERAL, getNodePath(), tid.toString().getBytes()); CuratorUtil.startAndWait(node, 10); status = TrStatus.OPEN; }