Respondiendo a la ¿Cómo puedo tener una aplicación única de ancho Entero:
Si tiene que ser único, incluso después de reinicios o si está agrupado que la aplicación se puede utilizar una secuencia de bases de datos.
Si solo tiene que ser exclusivo durante el tiempo de ejecución, utilice un estático AtomicInteger.
EDIT (ejemplo añadido):
public class Sequence {
private static final AtomicInteger counter = new AtomicInteger();
public static int nextValue() {
return counter.getAndIncrement();
}
}
Uso:
int nextValue = Sequence.nextValue();
Esto es hilo de seguridad (diferentes hilos siempre recibirán valores distintos, y no hay valores serán "perdido")
No, no es, por definición. Además, si fuera único, ¿por qué alguien necesitaría UUID? – Ingo
Definir único. ¿Globalmente, o solo dentro de su aplicación, o un poco de código? –
Es solo que por alguna tonta especificación necesité un entero único de la aplicación, quería hacer uso de la clase UUID, pero resulta que no puedo bajar de escala. –