@Override public void pickAddress() throws Exception { try { bindAddress = memberAddressProvider.getBindAddress(); publicAddress = memberAddressProvider.getPublicAddress(); validatePublicAddress(publicAddress); int port = createServerSocketChannel(bindAddress.getAddress(), bindAddress.getPort(), false); if (port != bindAddress.getPort()) { bindAddress = new InetSocketAddress(bindAddress.getAddress(), port); } logger.info("Using bind address: " + bindAddress); if (publicAddress.getPort() == 0) { publicAddress = new InetSocketAddress(publicAddress.getAddress(), port); } logger.info("Using public address: " + publicAddress); } catch (Exception e) { logger.severe(e); throw e; } }
@Override public AddressPicker createAddressPicker(Node node) { Config config = node.getConfig(); MemberAddressProviderConfig memberAddressProviderConfig = config.getNetworkConfig().getMemberAddressProviderConfig(); final ILogger addressPickerLogger = node.getLogger(AddressPicker.class); if (!memberAddressProviderConfig.isEnabled()) { return new DefaultAddressPicker(config, addressPickerLogger); } MemberAddressProvider implementation = memberAddressProviderConfig.getImplementation(); if (implementation != null) { return new DelegatingAddressPicker(implementation, config.getNetworkConfig(), addressPickerLogger); } ClassLoader classLoader = config.getClassLoader(); String classname = memberAddressProviderConfig.getClassName(); Class<?> clazz = loadMemberAddressProviderClass(classLoader, classname); Constructor<?> constructor = findMemberAddressProviderConstructor(clazz); Properties properties = memberAddressProviderConfig.getProperties(); MemberAddressProvider memberAddressProvider = newMemberAddressProviderInstance(constructor, properties); return new DelegatingAddressPicker(memberAddressProvider, config.getNetworkConfig(), addressPickerLogger); }
@Override public AddressPicker createAddressPicker(Node node) { Config config = node.getConfig(); MemberAddressProviderConfig memberAddressProviderConfig = config.getNetworkConfig().getMemberAddressProviderConfig(); final ILogger addressPickerLogger = node.getLogger(AddressPicker.class); if (!memberAddressProviderConfig.isEnabled()) { return new DefaultAddressPicker(config, addressPickerLogger); } MemberAddressProvider implementation = memberAddressProviderConfig.getImplementation(); if (implementation != null) { return new DelegatingAddressPicker(implementation, config.getNetworkConfig(), addressPickerLogger); } ClassLoader classLoader = config.getClassLoader(); String classname = memberAddressProviderConfig.getClassName(); Class<? extends MemberAddressProvider> clazz = loadMemberAddressProviderClass(classLoader, classname); ILogger memberAddressProviderLogger = node.getLogger(clazz); Properties properties = memberAddressProviderConfig.getProperties(); MemberAddressProvider memberAddressProvider = newMemberAddressProviderInstance(clazz, memberAddressProviderLogger, properties); return new DelegatingAddressPicker(memberAddressProvider, config.getNetworkConfig(), addressPickerLogger); }
@Override public void pickAddress() throws Exception { try { bindAddress = memberAddressProvider.getBindAddress(); publicAddress = memberAddressProvider.getPublicAddress(); validatePublicAddress(publicAddress); int port = createServerSocketChannel(bindAddress.getAddress(), bindAddress.getPort(), false); if (port != bindAddress.getPort()) { bindAddress = new InetSocketAddress(bindAddress.getAddress(), port); } logger.info("Using bind address: " + bindAddress); if (publicAddress.getPort() == 0) { publicAddress = new InetSocketAddress(publicAddress.getAddress(), port); } logger.info("Using public address: " + publicAddress); } catch (Exception e) { logger.severe(e); throw e; } }