You don't need the MapConfigService, you can use a serviceId (or a marker
annotation) to disambiguate your HazelcastConfigurer instances.

// serviceId = "mapConfigHazelcastConfigurer"
public HazelcastConfigurer buildMapConfigHazelcastConfigurer(final
Collection<MapConfig> mapConfigs) {
   return new HazelcastConfigurer {
      public void configure(Config config) {
         for (MapConfig mapConfig : mapConfigs) {
            config.addMapConfig(mapConfig);
         }
      }
   };
}

public void
contributeMapConfigHazelcastConfigurer(Configuration<HazelcastConfigurer>
config) {
   config.add(new MapConfig(...));
   config.add(new MapConfig(...));

}

public static void contributeHazelcastConfigService(
   Configuration<HazelcastConfigurer> config,
@ServiceId("mapConfigHazelcastConfigurer") HazelcastConfigurer
mapConfigHazelcastConfigurer
{
   config.add(mapConfigHazelcastConfigurer);
}

Reply via email to