X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2FCmsUuidFactory.java;h=357a0102f432f639058ce4deff06c546e5be3625;hb=23397c2209d8d654e200e0e96112d2ff4cf7b7af;hp=7270c0896255f4596f73cc489a7819f95f5bf791;hpb=4e946b88d60b50df84fc25c40f23c4053128b86f;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/acr/CmsUuidFactory.java b/org.argeo.cms/src/org/argeo/cms/acr/CmsUuidFactory.java index 7270c0896..357a0102f 100644 --- a/org.argeo.cms/src/org/argeo/cms/acr/CmsUuidFactory.java +++ b/org.argeo.cms/src/org/argeo/cms/acr/CmsUuidFactory.java @@ -11,6 +11,7 @@ import java.util.Enumeration; import org.argeo.api.cms.CmsLog; import org.argeo.api.uuid.ConcurrentUuidFactory; +import org.argeo.api.uuid.NodeIdSupplier; import org.argeo.api.uuid.UuidBinaryUtils; public class CmsUuidFactory extends ConcurrentUuidFactory { @@ -73,8 +74,10 @@ public class CmsUuidFactory extends ConcurrentUuidFactory { } } InetAddress selectedIp = selectedIpv6 != null ? selectedIpv6 : selectedIpv4; - if (selectedIp == null) - throw new IllegalStateException("No IP address found"); + if (selectedIp == null) { + log.warn("No IP address found, using a random node id for UUID generation"); + return NodeIdSupplier.randomNodeId(); + } byte[] digest = sha1(selectedIp.getAddress()); log.info("Use IP " + selectedIp + " hashed as " + UuidBinaryUtils.toHexString(digest) + " as node id"); byte[] nodeId = toNodeIdBytes(digest, 0);