org.wildfly.clustering.ejb.infinispan.bean.SessionIDKeySerializer 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.
The newest version!
/*
* Copyright The WildFly Authors
* SPDX-License-Identifier: Apache-2.0
*/
package org.wildfly.clustering.ejb.infinispan.bean;
import java.util.function.Function;
import org.jboss.ejb.client.SessionID;
import org.kohsuke.MetaInfServices;
import org.wildfly.clustering.ee.Key;
import org.wildfly.clustering.ee.cache.KeySerializer;
import org.wildfly.clustering.ejb.client.SessionIDSerializer;
import org.wildfly.clustering.marshalling.spi.BinaryFormatter;
import org.wildfly.clustering.marshalling.spi.Formatter;
import org.wildfly.clustering.marshalling.spi.Serializer;
/**
* {@link Serializer} for a {@link SessionID} based {@link Key}.
* @author Paul Ferraro
* @param the key type
*/
public class SessionIDKeySerializer> extends KeySerializer {
SessionIDKeySerializer(Function factory) {
super(SessionIDSerializer.INSTANCE, factory);
}
@MetaInfServices(Formatter.class)
public static class InfinispanBeanMetaDataKeyFormatter extends BinaryFormatter> {
@SuppressWarnings("unchecked")
public InfinispanBeanMetaDataKeyFormatter() {
super((Class>) (Class) InfinispanBeanMetaDataKey.class, new SessionIDKeySerializer<>(InfinispanBeanMetaDataKey::new));
}
}
@MetaInfServices(Formatter.class)
public static class InfinispanBeanGroupKeyFormatter extends BinaryFormatter> {
@SuppressWarnings("unchecked")
public InfinispanBeanGroupKeyFormatter() {
super((Class>) (Class) InfinispanBeanGroupKey.class, new SessionIDKeySerializer<>(InfinispanBeanGroupKey::new));
}
}
}