org.infinispan.xsite.XSiteReplicateCommand Maven / Gradle / Ivy
package org.infinispan.xsite;
import java.util.concurrent.CompletionStage;
import org.infinispan.commands.remote.BaseRpcCommand;
import org.infinispan.factories.ComponentRegistry;
import org.infinispan.util.ByteString;
/**
* Abstract class to invoke RPC on the remote site.
*
* @author Pedro Ruivo
* @since 7.0
*/
public abstract class XSiteReplicateCommand extends BaseRpcCommand {
private final byte commandId;
protected String originSite;
protected XSiteReplicateCommand(byte commandId, ByteString cacheName) {
super(cacheName);
this.commandId = commandId;
}
public CompletionStage performInLocalSite(ComponentRegistry registry, boolean preserveOrder) {
//by default, the command is executed against BackupReceiver.
return performInLocalSite(registry.getBackupReceiver().running(), preserveOrder);
}
public abstract CompletionStage performInLocalSite(BackupReceiver receiver, boolean preserveOrder);
public void setOriginSite(String originSite) {
this.originSite = originSite;
}
@Override
public boolean isReturnValueExpected() {
return false;
}
@Override
public byte getCommandId() {
return commandId;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy