From 4b875448d8094b241bff220c06b8e3f21d1d63ff Mon Sep 17 00:00:00 2001 From: okuc Date: Fri, 11 Mar 2016 17:20:05 +0800 Subject: [PATCH] When hosts configured incorrectly, causing problems not connect services --- .../java/org/apache/tinkerpop/gremlin/driver/Host.java | 2 +- .../java/org/apache/tinkerpop/gremlin/driver/HostTest.java | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Host.java b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Host.java index e21d9be98bf..fdefb789354 100644 --- a/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Host.java +++ b/gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/Host.java @@ -93,7 +93,7 @@ private void reconnected() { private static URI makeUriFromAddress(final InetSocketAddress addy, final boolean ssl) { try { final String scheme = ssl ? "wss" : "ws"; - return new URI(scheme, null, addy.getHostName(), addy.getPort(), "/gremlin", null, null); + return new URI(scheme, null, addy.getAddress().getHostAddress(), addy.getPort(), "/gremlin", null, null); } catch (URISyntaxException use) { throw new RuntimeException(String.format("URI for host could not be constructed from: %s", addy), use); } diff --git a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/HostTest.java b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/HostTest.java index cef9a82d73b..eff03b96a27 100644 --- a/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/HostTest.java +++ b/gremlin-driver/src/test/java/org/apache/tinkerpop/gremlin/driver/HostTest.java @@ -35,7 +35,12 @@ public void shouldConstructHost() { final InetSocketAddress addy = new InetSocketAddress("localhost", 8182); final Host host = new Host(addy, Cluster.open()); final URI webSocketUri = host.getHostUri(); - assertEquals("ws://localhost:8182/gremlin", webSocketUri.toString()); + assertEquals("ws://127.0.0.1:8182/gremlin", webSocketUri.toString()); + + final InetSocketAddress addyByIP = new InetSocketAddress("127.0.0.1", 8182); + final Host hostByIP = new Host(addyByIP, Cluster.open()); + final URI webSocketUriByIP = hostByIP.getHostUri(); + assertEquals("ws://127.0.0.1:8182/gremlin", webSocketUriByIP.toString()); } }