Joiner createJoiner() { JoinConfig join = config.getNetworkConfig().getJoin(); if (join.getMulticastConfig().isEnabled() && multicastService != null) { logger.info("Creating MulticastJoiner"); systemLogService.logJoin("Creating MulticastJoiner"); return new MulticastJoiner(this); } else if (join.getTcpIpConfig().isEnabled()) { logger.info("Creating TcpIpJoiner"); systemLogService.logJoin("Creating TcpIpJoiner"); return new TcpIpJoiner(this); } else if (join.getAwsConfig().isEnabled()) { Class clazz; try { logger.info("Creating AWSJoiner"); clazz = Class.forName("com.hazelcast.cluster.TcpIpJoinerOverAWS"); Constructor constructor = clazz.getConstructor(Node.class); systemLogService.logJoin("Creating AWSJoiner"); return (Joiner) constructor.newInstance(this); } catch (Exception e) { logger.severe("Error while creating AWSJoiner!", e); } } return null; }