The Cluster Protocol component is to provide usual Platform SDK
Protocol
interface
for communication with multiple servers configured as a cluster.
It supports following features:
Protocol
object instance;WarmStandby
service to keep the protocol connections alive;Endpoint
s of Cluster Nodes;Load Balancer
interface.It's implemented as a set of generic classes and several customizations for specific
servers protocols.
Due to the nature of the Protocol
interface, Cluster Protocol does not support
usual automatic handshakes and does not have special handling logic for client sessions.
Following protocols are supported and included in this Application Block:
ESP
- External Service Protocol;UCS
- Universal Contact Server Protocol;EspEmail
- ESP based Genesys Email Server Protocol;Chat
- Genesys Chat Server Flex Chat Protocol.Usage sample:
final UcsClusterProtocol ucsNProtocol =
new UcsClusterProtocolBuilder().build();
ucsNProtocol.setClientName(myClientName);
ucsNProtocol.setClientApplicationType(myApplicationType);
ucsNProtocol.setNodesEndpoints(clusterEndpointsList);
ucsNProtocol.setNodesEndpoints(
new Endpoint("ucs1", UCS_1_HOST, UCS_1_PORT),
new Endpoint("ucs2", UCS_2_HOST, UCS_2_PORT),
new Endpoint("ucs3", UCS_3_HOST, UCS_3_PORT));
try {
ucsNProtocol.open();
// ...
EventGetVersion ev1 = (EventGetVersion) ucsNProtocol.request(RequestGetVersion.create());
System.out.println("UCS version from " + ev1.getEndpoint() + " - " + ev1.getVersion());
EventGetVersion ev2 = (EventGetVersion) ucsNProtocol.request(RequestGetVersion.create());
System.out.println("UCS version from " + ev2.getEndpoint() + " - " + ev2.getVersion());
EventGetVersion ev3 = (EventGetVersion) ucsNProtocol.request(RequestGetVersion.create());
System.out.println("UCS version from " + ev3.getEndpoint() + " - " + ev3.getVersion());
// ...
} finally {
ucsNProtocol.close();
}
Interface | Description |
---|---|
ClusterChannelListener |
Channel listening interface extension for Cluster Protocol type.
It allows applications to handle Opened /Closed
events of protocol nodes of the cluster channel. |
ClusterProtocol |
Interface representing a client protocol connection on top of
encapsulated multiple protocol connections to a cluster
of similarly configured servers.
|
ClusterProtocolPolicy |
Cluster Protocol design time customization options.
|
Class | Description |
---|---|
AbstractClusterChannel<P extends ClientChannel> |
Abstract Cluster Protocol channel methods.
It's a common functionality for all Cluster Protocols. |
ClusterProtocolBuilder<P extends ClientChannel,CP extends ClusterProtocol,PB extends ProtocolBuilder<P,PB>,B extends ClusterProtocolBuilder<P,CP,PB,B>> |
Abstract generic builder base for Cluster Protocols construction.
|
ClusterProtocolImpl<P extends ClientChannel,B extends ProtocolBuilder<P,B>> |
Abstract implementation base of Cluster Protocol interface.
It's a common functionality for all specific Cluster Protocols. |
DefaultClusterProtocolPolicy |
Default implementation of Cluster Protocol policy.
|
ProtocolBuilder<P extends ClientChannel,B extends ProtocolBuilder<P,B>> |
Abstract builder base for cluster protocol nodes.
|
Send comments on this topicTechpubs.webadmin@genesys.com.
Document version: 9.0.006.00
Copyright © 2006–2019 Genesys Telecommunications Laboratories, Inc. All rights reserved.