@Override public int getPort() { return serverAddress.getPort(); }
@Inject public MongoSplitManager(MongoClientConfig config) { this.addresses = config.getSeeds().stream() .map(s -> fromParts(s.getHost(), s.getPort())) .collect(toList()); }
private ServerAddress createConfiguredOrDefaultServerAddress() throws UnknownHostException { ServerAddress defaultAddress = new ServerAddress(); return new ServerAddress(StringUtils.hasText(host) ? host : defaultAddress.getHost(), port != null ? port.intValue() : defaultAddress.getPort()); }
@ConditionalOnMissingBean(com.mongodb.client.MongoClient.class) @ConditionalOnProperty(CONSTANT_MONGODBURI) @org.springframework.context.annotation.Bean public com.mongodb.client.MongoClient mongoClient(@Autowired(required = false) com.mongodb.MongoClient mongoClient) { if (mongoClient == null) { return MongoClients.create(this.environment.getProperty(CONSTANT_MONGODBURI)); } else { List<ServerAddress> addressList = mongoClient.getAllAddress(); StringBuilder ber = new StringBuilder(); for (int i = 0; addressList != null && i < addressList.size(); i++) { ServerAddress address = addressList.get(i); String host = address.getHost(); int port = address.getPort(); if (i == 0) { ber.append(host).append(":").append(port); } else { ber.append(",").append(host).append(":").append(port); } } return MongoClients.create(String.format("mongodb://%s", ber.toString())); } }
/** * Gets a {@code String} representation of current connection point, i.e. master. * * @return server address in a host:port form */ @Deprecated @Nullable public String getConnectPoint() { ServerAddress master = getAddress(); return master != null ? String.format("%s:%d", master.getHost(), master.getPort()) : null; }
String getMBeanObjectName(final ServerId serverId) { String name = format("org.mongodb.driver:type=ConnectionPool,clusterId=%s,host=%s,port=%s", ensureValidValue(serverId.getClusterId().getValue()), ensureValidValue(serverId.getAddress().getHost()), serverId.getAddress().getPort()); if (serverId.getClusterId().getDescription() != null) { name = format("%s,description=%s", name, ensureValidValue(serverId.getClusterId().getDescription())); } return name; }
@Test public void shouldParseServerIPv6AddressesWithReplicaSetNameAndWithPort() { addresses = MongoUtil.parseAddresses("replicaSetName/[::1/128]:2111,host2:3111,[ff02::2:ff00:0/104]:4111,host4:5111"); assertThat(addresses.size()).isEqualTo(4); assertThat(addresses.get(0).getHost()).isEqualTo("::1/128"); assertThat(addresses.get(0).getPort()).isEqualTo(2111); assertThat(addresses.get(1).getHost()).isEqualTo("host2"); assertThat(addresses.get(1).getPort()).isEqualTo(3111); assertThat(addresses.get(2).getHost()).isEqualTo("ff02::2:ff00:0/104"); assertThat(addresses.get(2).getPort()).isEqualTo(4111); assertThat(addresses.get(3).getHost()).isEqualTo("host4"); assertThat(addresses.get(3).getPort()).isEqualTo(5111); }
@Test public void shouldParseServerAddressesWithPort() { addresses = MongoUtil.parseAddresses("host1:2111,host2:3111,[ff02::2:ff00:0/104]:4111,host4:5111"); assertThat(addresses.size()).isEqualTo(4); assertThat(addresses.get(0).getHost()).isEqualTo("host1"); assertThat(addresses.get(0).getPort()).isEqualTo(2111); assertThat(addresses.get(1).getHost()).isEqualTo("host2"); assertThat(addresses.get(1).getPort()).isEqualTo(3111); assertThat(addresses.get(2).getHost()).isEqualTo("ff02::2:ff00:0/104"); assertThat(addresses.get(2).getPort()).isEqualTo(4111); assertThat(addresses.get(3).getHost()).isEqualTo("host4"); assertThat(addresses.get(3).getPort()).isEqualTo(5111); }
@Test public void shouldParseServerAddressesWithReplicaSetNameAndWithPort() { addresses = MongoUtil.parseAddresses("replicaSetName/host1:2111,host2:3111,[ff02::2:ff00:0/104]:4111,host4:5111"); assertThat(addresses.size()).isEqualTo(4); assertThat(addresses.get(0).getHost()).isEqualTo("host1"); assertThat(addresses.get(0).getPort()).isEqualTo(2111); assertThat(addresses.get(1).getHost()).isEqualTo("host2"); assertThat(addresses.get(1).getPort()).isEqualTo(3111); assertThat(addresses.get(2).getHost()).isEqualTo("ff02::2:ff00:0/104"); assertThat(addresses.get(2).getPort()).isEqualTo(4111); assertThat(addresses.get(3).getHost()).isEqualTo("host4"); assertThat(addresses.get(3).getPort()).isEqualTo(5111); }
@Test public void shouldParseServerIPv6AddressesWithReplicaSetNameAndWithoutPort() { addresses = MongoUtil.parseAddresses("replicaSetName/[::1/128],host2,[ff02::2:ff00:0/104],host4"); assertThat(addresses.size()).isEqualTo(4); assertThat(addresses.get(0).getHost()).isEqualTo("::1/128"); assertThat(addresses.get(0).getPort()).isEqualTo(ServerAddress.defaultPort()); assertThat(addresses.get(1).getHost()).isEqualTo("host2"); assertThat(addresses.get(1).getPort()).isEqualTo(ServerAddress.defaultPort()); assertThat(addresses.get(2).getHost()).isEqualTo("ff02::2:ff00:0/104"); assertThat(addresses.get(2).getPort()).isEqualTo(ServerAddress.defaultPort()); assertThat(addresses.get(3).getHost()).isEqualTo("host4"); assertThat(addresses.get(3).getPort()).isEqualTo(ServerAddress.defaultPort()); }
@Test public void shouldParseServerAddressesWithReplicaSetNameAndWithoutPort() { addresses = MongoUtil.parseAddresses("replicaSetName/host1,host2,[::1/128],host4"); assertThat(addresses.size()).isEqualTo(4); assertThat(addresses.get(0).getHost()).isEqualTo("host1"); assertThat(addresses.get(0).getPort()).isEqualTo(ServerAddress.defaultPort()); assertThat(addresses.get(1).getHost()).isEqualTo("host2"); assertThat(addresses.get(1).getPort()).isEqualTo(ServerAddress.defaultPort()); assertThat(addresses.get(2).getHost()).isEqualTo("::1/128"); assertThat(addresses.get(2).getPort()).isEqualTo(ServerAddress.defaultPort()); assertThat(addresses.get(3).getHost()).isEqualTo("host4"); assertThat(addresses.get(3).getPort()).isEqualTo(ServerAddress.defaultPort()); }
@Test public void shouldParseServerAddressesWithoutPort() { addresses = MongoUtil.parseAddresses("host1,host2,[::1/128],host4"); assertThat(addresses.size()).isEqualTo(4); assertThat(addresses.get(0).getHost()).isEqualTo("host1"); assertThat(addresses.get(0).getPort()).isEqualTo(ServerAddress.defaultPort()); assertThat(addresses.get(1).getHost()).isEqualTo("host2"); assertThat(addresses.get(1).getPort()).isEqualTo(ServerAddress.defaultPort()); assertThat(addresses.get(2).getHost()).isEqualTo("::1/128"); assertThat(addresses.get(2).getPort()).isEqualTo(ServerAddress.defaultPort()); assertThat(addresses.get(3).getHost()).isEqualTo("host4"); assertThat(addresses.get(3).getPort()).isEqualTo(ServerAddress.defaultPort()); }
@Test public void shouldNotParseServerAddressesWithReplicaSetNameAndNoAddress() { addresses = MongoUtil.parseAddresses("replicaSetName/"); assertThat(addresses.size()).isEqualTo(1); assertThat(addresses.get(0).getHost()).isEqualTo(ServerAddress.defaultHost()); assertThat(addresses.get(0).getPort()).isEqualTo(ServerAddress.defaultPort()); }
@Test public void shouldParseIPv4ServerAddressWithoPort() { address = MongoUtil.parseAddress("localhost:28017"); assertThat(address.getHost()).isEqualTo("localhost"); assertThat(address.getPort()).isEqualTo(28017); }
@Test public void shouldParseIPv6ServerAddressWithPort() { address = MongoUtil.parseAddress("[::1/128]:28017"); assertThat(address.getHost()).isEqualTo("::1/128"); // removes brackets assertThat(address.getPort()).isEqualTo(28017); }
@Test public void shouldParseIPv4ServerAddressWithoutPort() { address = MongoUtil.parseAddress("localhost"); assertThat(address.getHost()).isEqualTo("localhost"); assertThat(address.getPort()).isEqualTo(ServerAddress.defaultPort()); }
@Test public void shouldParseIPv6ServerAddressWithoutPort() { address = MongoUtil.parseAddress("[::1/128]"); assertThat(address.getHost()).isEqualTo("::1/128"); // removes brackets assertThat(address.getPort()).isEqualTo(ServerAddress.defaultPort()); }