package org.infinispan.server.hotrod; import static org.infinispan.server.core.ExternalizerIds.BINARY_CONVERTER; import static org.infinispan.server.core.ExternalizerIds.BINARY_FILTER; import static org.infinispan.server.core.ExternalizerIds.BINARY_FILTER_CONVERTER; import static org.infinispan.server.core.ExternalizerIds.ITERATION_FILTER; import static org.infinispan.server.core.ExternalizerIds.KEY_VALUE_VERSION_CONVERTER; import static org.infinispan.server.core.ExternalizerIds.KEY_VALUE_WITH_PREVIOUS_CONVERTER; import static org.infinispan.server.core.ExternalizerIds.SERVER_ADDRESS; import java.util.Map; import org.infinispan.commons.marshall.AdvancedExternalizer; import org.infinispan.configuration.global.GlobalConfiguration; import org.infinispan.factories.GlobalComponentRegistry; import org.infinispan.lifecycle.AbstractModuleLifecycle; import org.infinispan.server.hotrod.ClientListenerRegistry.UnmarshallConverterExternalizer; import org.infinispan.server.hotrod.ClientListenerRegistry.UnmarshallFilterConverterExternalizer; import org.infinispan.server.hotrod.ClientListenerRegistry.UnmarshallFilterExternalizer; import org.infinispan.server.hotrod.event.KeyValueWithPreviousEventConverterExternalizer; import org.infinispan.server.hotrod.iteration.IterationFilter; /** * Module lifecycle callbacks implementation that enables module specific {@link org.infinispan.marshall.AdvancedExternalizer} * implementations to be registered. * * @author Galder ZamarreƱo * @since 5.0 */ public class LifecycleCallbacks extends AbstractModuleLifecycle { @Override public void cacheManagerStarting(GlobalComponentRegistry gcr, GlobalConfiguration globalCfg) { Map<Integer, AdvancedExternalizer<?>> externalizers = globalCfg.serialization().advancedExternalizers(); externalizers.put(SERVER_ADDRESS, new ServerAddress.Externalizer()); externalizers.put(BINARY_FILTER, new UnmarshallFilterExternalizer()); externalizers.put(BINARY_CONVERTER, new UnmarshallConverterExternalizer()); externalizers.put(KEY_VALUE_VERSION_CONVERTER, new KeyValueVersionConverter.Externalizer()); externalizers.put(BINARY_FILTER_CONVERTER, new UnmarshallFilterConverterExternalizer()); externalizers.put(KEY_VALUE_WITH_PREVIOUS_CONVERTER, new KeyValueWithPreviousEventConverterExternalizer()); externalizers.put(ITERATION_FILTER, new IterationFilter.IterationFilterExternalizer()); } }