org.wildfly.clustering.ejb.infinispan.timer.InfinispanTimerSerializationContextInitializer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of wildfly-clustering-ejb-infinispan Show documentation
Show all versions of wildfly-clustering-ejb-infinispan Show documentation
An implementation of wildfly-clustering-ejb-spi based on an embedded Infinispan cache.
/*
* Copyright The WildFly Authors
* SPDX-License-Identifier: Apache-2.0
*/
package org.wildfly.clustering.ejb.infinispan.timer;
import java.util.UUID;
import org.infinispan.protostream.SerializationContext;
import org.wildfly.clustering.ejb.cache.timer.TimerIndexMarshaller;
import org.wildfly.clustering.marshalling.protostream.AbstractSerializationContextInitializer;
import org.wildfly.clustering.marshalling.protostream.EnumMarshaller;
import org.wildfly.clustering.marshalling.protostream.FunctionalMarshaller;
/**
* @author Paul Ferraro
*/
public class InfinispanTimerSerializationContextInitializer extends AbstractSerializationContextInitializer {
@Override
public void registerMarshallers(SerializationContext context) {
context.registerMarshaller(new FunctionalMarshaller<>(InfinispanTimerMetaDataKey.class, UUID.class, InfinispanTimerMetaDataKey::getId, InfinispanTimerMetaDataKey::new));
context.registerMarshaller(new FunctionalMarshaller<>(InfinispanTimerIndexKey.class, TimerIndexMarshaller.INSTANCE, InfinispanTimerIndexKey::getId, InfinispanTimerIndexKey::new));
context.registerMarshaller(new EnumMarshaller<>(TimerMetaDataKeyFilter.class));
}
}