예제 #1
0
  private BroadcastGroup createBroadcastGroup(BroadcastGroupConfiguration config) throws Exception {
    BroadcastGroup group = broadcastGroups.get(config.getName());

    if (group == null) {
      group =
          new BroadcastGroupImpl(
              nodeManager,
              config.getName(),
              config.getBroadcastPeriod(),
              scheduledExecutor,
              config.getEndpointFactoryConfiguration().createBroadcastEndpointFactory());

      for (String connectorInfo : config.getConnectorInfos()) {
        TransportConfiguration connector =
            configuration.getConnectorConfigurations().get(connectorInfo);

        if (connector == null) {
          logWarnNoConnector(config.getName(), connectorInfo);

          return null;
        }

        group.addConnector(connector);
      }
    }

    if (group.size() == 0) {
      logWarnNoConnector(config.getConnectorInfos().toString(), group.getName());
      return null;
    }

    broadcastGroups.put(config.getName(), group);

    return group;
  }