All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jgroups.util.TopologyUUID Maven / Gradle / Ivy

Go to download

This artifact provides a single jar that contains all classes required to use remote EJB and JMS, including all dependencies. It is intended for use by those not using maven, maven users should just import the EJB and JMS BOM's instead (shaded JAR's cause lots of problems with maven, as it is very easy to inadvertently end up with different versions on classes on the class path).

There is a newer version: 33.0.2.Final
Show newest version
package org.jgroups.util;

import java.util.Arrays;

/**
 * Subclass of {@link org.jgroups.util.ExtendedUUID} which adds 3 strings (siteId, rackId and machineId) to the hashmap.
 * An instance of this can be fed to {@link org.jgroups.JChannel#addAddressGenerator(org.jgroups.stack.AddressGenerator)},
 * with the address generator creating TopologyUUIDs.

* Mainly used by TopologyAwareConsistentHash in Infinispan (www.infinispan.org). * @author Bela Ban * @deprecated Use {@link ExtendedUUID} instead. This class will be dropped in 4.0. */ @Deprecated public class TopologyUUID extends ExtendedUUID { protected static final byte[] SITE_ID = Util.stringToBytes("site-id"); protected static final byte[] RACK_ID = Util.stringToBytes("rack-id"); protected static final byte[] MACHINE_ID = Util.stringToBytes("machine-id"); private static final long serialVersionUID=332097758637301279L; public TopologyUUID() { } protected TopologyUUID(byte[] data, String site_id, String rack_id, String machine_id) { super(data); put(SITE_ID, Util.stringToBytes(site_id)); put(RACK_ID, Util.stringToBytes(rack_id)); put(MACHINE_ID, Util.stringToBytes(machine_id)); } protected TopologyUUID(long most_sig_bits, long least_sig_bits, String site_id, String rack_id, String machine_id) { super(most_sig_bits, least_sig_bits); put(SITE_ID, Util.stringToBytes(site_id)); put(RACK_ID, Util.stringToBytes(rack_id)); put(MACHINE_ID, Util.stringToBytes(machine_id)); } public static TopologyUUID randomUUID(String site_id, String rack_id, String machine_id) { return new TopologyUUID(generateRandomBytes(), site_id, rack_id, machine_id); } public static TopologyUUID randomUUID(String logical_name, String site_id, String rack_id, String machine_id) { TopologyUUID retval=new TopologyUUID(generateRandomBytes(), site_id, rack_id, machine_id); UUID.add(retval, logical_name); return retval; } public String getSiteId() { return Util.bytesToString(get(SITE_ID)); } public void setSiteId(String site_id) { put(SITE_ID, Util.stringToBytes(site_id)); } public String getRackId() { return Util.bytesToString(get(RACK_ID)); } public void setRackId(String rack_id) { put(RACK_ID, Util.stringToBytes(rack_id)); } public String getMachineId() { return Util.bytesToString(get(MACHINE_ID)); } public void setMachineId(String machine_id) { put(MACHINE_ID, Util.stringToBytes(machine_id)); } public boolean isSameSite(TopologyUUID addr) { return addr != null && Arrays.equals(get(SITE_ID), addr.get(SITE_ID)); } public boolean isSameRack(TopologyUUID addr) { return addr != null && Arrays.equals(get(RACK_ID), addr.get(RACK_ID)); } public boolean isSameMachine(TopologyUUID addr) { return addr != null && Arrays.equals(get(MACHINE_ID), addr.get(MACHINE_ID)); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy