org.infinispan.factories.ReplicationQueueFactory Maven / Gradle / Ivy
package org.infinispan.factories;
import org.infinispan.configuration.cache.ClusteringConfiguration;
import org.infinispan.factories.annotations.DefaultFactoryFor;
import org.infinispan.remoting.ReplicationQueue;
import org.infinispan.remoting.ReplicationQueueImpl;
/**
* Factory for ReplicationQueue.
*
* @author Manik Surtani ([email protected])
* @since 4.0
*/
@DefaultFactoryFor(classes = ReplicationQueue.class)
public class ReplicationQueueFactory extends AbstractNamedCacheComponentFactory implements AutoInstantiableFactory {
@Override
@SuppressWarnings("unchecked")
public T construct(Class componentType) {
ClusteringConfiguration clustering = configuration.clustering();
if ((!clustering.cacheMode().isSynchronous()) && clustering.async().useReplQueue()) {
ReplicationQueue replQueue = clustering.async().replQueue();
return replQueue != null ? componentType.cast(replQueue) : (T) new ReplicationQueueImpl();
} else {
return null;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy