diff --git a/jdk/src/share/classes/sun/jvmstat/monitor/HostIdentifier.java b/jdk/src/share/classes/sun/jvmstat/monitor/HostIdentifier.java index 4ac28a1034a..25bc7445b6d 100644 --- a/jdk/src/share/classes/sun/jvmstat/monitor/HostIdentifier.java +++ b/jdk/src/share/classes/sun/jvmstat/monitor/HostIdentifier.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -112,6 +112,11 @@ private URI canonicalize(String uriString) throws URISyntaxException { return new URI(uriString); } + if (Character.isDigit(uriString.charAt(0))) { + // may be hostname or hostname:port since it starts with digits + uriString = "//" + uriString; + } + URI u = new URI(uriString); if (u.isAbsolute()) { diff --git a/jdk/test/sun/jvmstat/monitor/HostIdentifier/HostIdentifierCreate.java b/jdk/test/sun/jvmstat/monitor/HostIdentifier/HostIdentifierCreate.java index 4299bf34384..486351b327b 100644 --- a/jdk/test/sun/jvmstat/monitor/HostIdentifier/HostIdentifierCreate.java +++ b/jdk/test/sun/jvmstat/monitor/HostIdentifier/HostIdentifierCreate.java @@ -23,7 +23,7 @@ /* * @test - * @bug 4990825 + * @bug 4990825 8251155 * @summary test that HostIdentifier objects get created as expected */ diff --git a/jdk/test/sun/jvmstat/monitor/HostIdentifier/testcases b/jdk/test/sun/jvmstat/monitor/HostIdentifier/testcases index 28dff2cdc02..804ab14938b 100644 --- a/jdk/test/sun/jvmstat/monitor/HostIdentifier/testcases +++ b/jdk/test/sun/jvmstat/monitor/HostIdentifier/testcases @@ -218,4 +218,18 @@ special syntax - not a valid URI, but allowed by HostIdentifier rmi://10.0.0.1:1234 + + +Purely numeric + + //12345 + + + + +Purely numeric + + //12345:123 + +