Plan 1:
Si no hay concurrencia y el número de pedido solo se genera en un hilo, dado que el programa se ejecuta secuencialmente, las sellos de tiempo de generación de diferentes pedidos son normalmente diferentes. Por lo tanto, la marca de tiempo + número aleatorio (o número de auto-incremento) se puede usar para distinguir cada orden. Si existe concurrencia y el número de pedido se genera mediante múltiples hilos en un proceso, se puede garantizar que el número de pedido sea único agregando el ID de subproceso al número de secuencia. Si hay concurrencia y el número de pedido es generado por múltiples procesos en el mismo host, se puede garantizar que el número de pedido sea único agregando la ID de proceso al número de secuencia. Si hay concurrencia y el número de pedido es generado por diferentes hosts, entonces el número que puede distinguir el host, como la dirección MAC, la dirección IP o el número de serie de la CPU, puede garantizar que el número de pedido sea exclusivo del número de serie.
Plan 2:
Marca de tiempo + ID de usuario + varios números aleatorios + bloqueo optimista.
Plan 3:
Use Redis Atomic Increment para construir un grupo de alta disponibilidad.
SOLUCIÓN 4 (Números no puro):
Java viene con uuid.
Código de casos
Java obtiene ID de hilo
Thread.CurrentThread (). GetId ()
Java Get Process ID
// Obtener un nombre que representa la máquina virtual Java. Name de cadena = administraciónFactory.getRunTimemxBean (). GetName (); System.out.println (nombre); // Get PID String pid = name.split ("@") [0]; System.out.println ("Pid es:" + PID);Obtener la dirección MAC por Java
Inetaddress ia = inetaddress.getLocalHost (); byte [] mac = networkInterface.getByInetAddress (ia) .gethardwaraaddress (); String MacStr = DatatyPeConverter.printThexBinary (Mac);
Resumir
Lo anterior es la única solución para Java Web para lograr la generación de números de pedido en alta concurrencia y colocación de Java Web. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!