Freigeben über


CommunicationClientFactoryBase<T> Klasse

Typparameter

T

Der Typ des Kommunikationsclients

public class CommunicationClientFactoryBase implements CommunicationClientFactory

Stellt die Basisimplementierung von CommunicationClientFactory zum Erstellen von Kommunikationsclients für die Kommunikation mit Service Fabric-Diensten bereit. Erweitern Sie die CommunicationClientFactoryBase-Klasse, um Kommunikationsclients für benutzerdefinierte Transportimplementierungen zu erstellen. Diese Klasse verwaltet einen Cache mit Kommunikationsclients und versucht, die Clients für Anforderungen an denselben Dienstendpunkt wiederzuverwenden.

Zusammenfassung zum Konstruktor

Konstruktor Beschreibung
CommunicationClientFactoryBase()

Initialisiert eine neue instance der Communication Client Factory.

CommunicationClientFactoryBase(ServicePartitionResolver servicePartitionResolver, List<ExceptionHandler> exceptionHandlers)

Initialisiert eine neue instance der Communication Client Factory.

CommunicationClientFactoryBase(ServicePartitionResolver servicePartitionResolver, List<ExceptionHandler> exceptionHandlers, String traceId)

Initialisiert eine neue instance der Communication Client Factory.

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
abstract void abortClient(T client)

Bricht den angegebenen Client ab.

abstract CompletableFuture<T> createClientAsync(String endpoint)
CompletableFuture<T> getClientAsync(ResolvedServicePartition previousRsp, TargetReplicaSelector targetReplicaSelector, String listenerName, OperationRetrySettings retrySettings)

Löst eine Partition des angegebenen Diensts auf, die einen oder mehrere Kommunikationslistener enthält, und gibt einen Client zurück, um mit dem Endpunkt zu kommunizieren, der dem angegebenen listenerName entspricht. Der Endpunkt des Diensts hat die Form : {"Endpoints":{"Listener1":"Endpoint1","Listener2":"Endpoint2" ...}}

CompletableFuture<T> getClientAsync(URI serviceUri, ServicePartitionKey partitionKey, TargetReplicaSelector targetReplicaSelector, String listenerName, OperationRetrySettings retrySettings)

Löst eine Partition des angegebenen Diensts auf, die einen oder mehrere Kommunikationslistener enthält, und gibt einen Client zurück, um mit dem Endpunkt zu kommunizieren, der dem angegebenen listenerName entspricht. Der Endpunkt des Diensts hat die Form : {"Endpoints":{"Listener1":"Endpoint1","Listener2":"Endpoint2" ...}}

List<ExceptionHandler> getExceptionHandlers()

Ruft die benutzerdefinierten Ausnahmehandler für die Behandlung von Ausnahmen auf dem Client- zum Dienstkommunikationskanal ab.

ServicePartitionResolver getServiceResolver()

Ruft den ServicePartitionResolver ab, der von der Clientfactory zum Auflösen des Dienstendpunkts verwendet wird.

String getTraceId()

Ruft den Ablaufverfolgungsbezeichner ab, der verwendet wird, um eine instance der CommunicationClientFactory zu identifizieren. Dies wird als Korrelationsbezeichner für die Ablaufverfolgung/Protokollierung verwendet.

CompletableFuture<OperationRetryControl> reportOperationExceptionAsync(T client, ExceptionInformation exceptionInformation, OperationRetrySettings retrySettings)

Verarbeitet die Ausnahmen, die im CommunicationClient auftreten, wenn eine Nachricht an den Dienst gesendet wird

abstract boolean validateClient(String endpoint, T client)

Gibt true zurück, wenn der Client weiterhin gültig ist und mit dem im Parameter angegebenen Endpunkt verbunden ist.

abstract boolean validateClient(T client)

Gibt true zurück, wenn der Client noch gültig ist. Verbindungsorientierte Transporte können diese Methode verwenden, um anzugeben, dass der Client nicht mehr mit dem Dienst verbunden ist.

Geerbte Elemente

Details zum Konstruktor

CommunicationClientFactoryBase

protected CommunicationClientFactoryBase()

Initialisiert eine neue instance der Communication Client Factory.

CommunicationClientFactoryBase

protected CommunicationClientFactoryBase(ServicePartitionResolver servicePartitionResolver, List exceptionHandlers)

Initialisiert eine neue instance der Communication Client Factory.

Parameter:

servicePartitionResolver - Optionaler ServicePartitionResolver
exceptionHandlers - Optionale benutzerdefinierte Ausnahmehandler für die Ausnahmen im Kommunikationskanal Client zu Dienst

CommunicationClientFactoryBase

protected CommunicationClientFactoryBase(ServicePartitionResolver servicePartitionResolver, List exceptionHandlers, String traceId)

Initialisiert eine neue instance der Communication Client Factory.

Parameter:

servicePartitionResolver - Optionaler ServicePartitionResolver
exceptionHandlers - Optionale benutzerdefinierte Ausnahmehandler für die Ausnahmen im Kommunikationskanal Client zu Dienst
traceId - Id, die in Diagnose Ablaufverfolgungen dieser Komponente verwendet werden soll.

Details zur Methode

abortClient

protected abstract void abortClient(T client)

Bricht den angegebenen Client ab.

Parameter:

client - Kommunikationsclient

createClientAsync

protected abstract CompletableFuture createClientAsync(String endpoint)

Parameter:

endpoint

getClientAsync

public CompletableFuture getClientAsync(ResolvedServicePartition previousRsp, TargetReplicaSelector targetReplicaSelector, String listenerName, OperationRetrySettings retrySettings)

Löst eine Partition des angegebenen Diensts auf, die einen oder mehrere Kommunikationslistener enthält, und gibt einen Client zurück, um mit dem Endpunkt zu kommunizieren, der dem angegebenen listenerName entspricht. Der Endpunkt des Diensts hat die Form : {"Endpoints":{"Listener1":"Endpoint1","Listener2":"Endpoint2" ...}}

Parameter:

previousRsp - Vorherigen ResolvedServicePartition
targetReplicaSelector -

TargetReplicaSelector

listenerName - Name des Listeners
retrySettings - Wiederholungseinstellungen

Gibt zurück:

Eine CompletableFuture, die einen hervorragenden Betrieb darstellt. Das Ergebnis des Tasks ist das CommunicationClient(CommunicationClient)-Objekt.

getClientAsync

public CompletableFuture getClientAsync(URI serviceUri, ServicePartitionKey partitionKey, TargetReplicaSelector targetReplicaSelector, String listenerName, OperationRetrySettings retrySettings)

Löst eine Partition des angegebenen Diensts auf, die einen oder mehrere Kommunikationslistener enthält, und gibt einen Client zurück, um mit dem Endpunkt zu kommunizieren, der dem angegebenen listenerName entspricht. Der Endpunkt des Diensts hat die Form : {"Endpoints":{"Listener1":"Endpoint1","Listener2":"Endpoint2" ...}}

Parameter:

serviceUri - URI des aufzulösenden Diensts
partitionKey - Schlüssel, der die partition identifiziert, die aufgelöst werden soll
targetReplicaSelector -

TargetReplicaSelector

listenerName - Name des Listeners
retrySettings - Wiederholungseinstellungen

Gibt zurück:

Eine CompletableFuture, die einen hervorragenden Betrieb darstellt. Das Ergebnis des Tasks ist das CommunicationClient(CommunicationClient)-Objekt.

getExceptionHandlers

public List getExceptionHandlers()

Ruft die benutzerdefinierten Ausnahmehandler für die Behandlung von Ausnahmen auf dem Client- zum Dienstkommunikationskanal ab.

Gibt zurück:

Liste der Ausnahmehandler

getServiceResolver

public ServicePartitionResolver getServiceResolver()

Ruft den ServicePartitionResolver ab, der von der Clientfactory zum Auflösen des Dienstendpunkts verwendet wird.

Gibt zurück:

ServicePartitionResolver

getTraceId

protected String getTraceId()

Ruft den Ablaufverfolgungsbezeichner ab, der verwendet wird, um eine instance der CommunicationClientFactory zu identifizieren. Dies wird als Korrelationsbezeichner für die Ablaufverfolgung/Protokollierung verwendet.

Gibt zurück:

Ablaufverfolgungsbezeichner

reportOperationExceptionAsync

public CompletableFuture reportOperationExceptionAsync(T client, ExceptionInformation exceptionInformation, OperationRetrySettings retrySettings)

Verarbeitet die Ausnahmen, die im CommunicationClient auftreten, wenn eine Nachricht an den Dienst gesendet wird

Parameter:

client - Kommunikationsclient
exceptionInformation - Ausnahmeinformationen
retrySettings - Wiederholungseinstellungen

Gibt zurück:

Eine CompletableFuture, die einen hervorragenden Betrieb darstellt. Das Ergebnis der Aufgabe ist ein OperationRetryControl Objekt, das bestimmt, wie die Wiederholungsrichtlinie für diese Ausnahme festgelegt wird.

validateClient

protected abstract boolean validateClient(String endpoint, T client)

Gibt true zurück, wenn der Client weiterhin gültig ist und mit dem im Parameter angegebenen Endpunkt verbunden ist.

Parameter:

endpoint - der Endpunkt
client - der Kommunikationsclient

Gibt zurück:

true, wenn der Client gültig ist, andernfalls false

validateClient

protected abstract boolean validateClient(T client)

Gibt true zurück, wenn der Client noch gültig ist. Verbindungsorientierte Transporte können diese Methode verwenden, um anzugeben, dass der Client nicht mehr mit dem Dienst verbunden ist.

Parameter:

client - der Kommunikationsclient

Gibt zurück:

true, wenn der Client gültig ist, andernfalls false

Gilt für: