private void configureQualifiedHostName( String qualifiedHostName, String providedHostName, Properties providedProperties, Map<String, String> env) { if (qualifiedHostName == null) { // if host name is specified, don't pick a qualified host name that isn't related to it qualifiedHostName = providedHostName; if (qualifiedHostName == null) { // POSIX-like OSes including Mac should have this set qualifiedHostName = env.get("HOSTNAME"); } if (qualifiedHostName == null) { // Certain versions of Windows qualifiedHostName = env.get("COMPUTERNAME"); } if (qualifiedHostName == null) { try { qualifiedHostName = NetworkUtils.canonize(InetAddressUtil.getLocalHost().getHostName()); } catch (UnknownHostException e) { qualifiedHostName = null; } } if (qualifiedHostName != null && qualifiedHostName.matches("^\\d+\\.\\d+\\.\\d+\\.\\d+$|:")) { // IP address is not acceptable qualifiedHostName = null; } if (qualifiedHostName == null) { // Give up qualifiedHostName = "unknown-host.unknown-domain"; } else { qualifiedHostName = qualifiedHostName.trim().toLowerCase(); } } else { providedProperties.setProperty(QUALIFIED_HOST_NAME, qualifiedHostName); } this.qualifiedHostName = qualifiedHostName; // Chain down to hostName as qualifiedHostName is the default for it configureHostName(providedProperties.getProperty(HOST_NAME), providedProperties); }
@Override protected void systemPropertyUpdated(String propertyName, String propertyValue) { if (BOOT_PROPERTIES.contains(propertyName)) { if (BUNDLES_DIR.equals(propertyName)) { configureBundlesDir(propertyValue, providedProperties); } else if (SERVER_TEMP_DIR.equals(propertyName)) { configureServerTempDir(propertyValue, providedProperties); } else if (QUALIFIED_HOST_NAME.equals(propertyName)) { configureQualifiedHostName( propertyValue, providedProperties.getProperty(HOST_NAME), providedProperties, WildFlySecurityManager.getSystemEnvironmentPrivileged()); } else if (HOST_NAME.equals(propertyName)) { configureHostName(propertyValue, providedProperties); } else if (SERVER_NAME.equals(propertyName)) { configureServerName(propertyValue, providedProperties); } else if (NODE_NAME.equals(propertyName)) { configureNodeName(propertyValue, providedProperties); } } }