Giriş
Şu satırı dahil ederiz
import com.hazelcast.client.impl.connection.tcp.TcpClientConnection;
ClientConnection arayüzünden kalıtır. ClientInvocationService tarafından kullanılır. TcpClientConnectionManager tarafından yaratılır.
Heart Beat
Client ve cluster sunucusu arasında bir heart beat mekanizması vardır. Örnek çıktı şöyle. Trafik yoksa bile heart beat çalışır eğer cevap gelmezse zaman aşımı süresi sonunda bağlantı kapatılır
[5.2.3] ClientConnection{alive=false, connectionId=3, channel=NioChannel{/192.168.178.24:51622->/34.214.55.240:30438}, remoteAddress=[10.0.48.198]:30000, lastReadTime=2023-07-18 11:14:37.854, lastWriteTime=2023-07-18 11:14:37.855, closedTime=2023-07-18 11:18:32.223, connected server version=null} closed. Reason: Heartbeat timed out
handleClientMessage metodu
Kod şöyle. Eğer gelen mesaj bir event ise - örneğin MapListener için gelen bir event ise - listenerService nesnesine teslim edilir.
@Override public void handleClientMessage(ClientMessage message) { if (ClientMessage.isFlagSet(message.getHeaderFlags(), ClientMessage.BACKUP_EVENT_FLAG)) { responseHandler.accept(message); } else if (ClientMessage.isFlagSet(message.getHeaderFlags(),ClientMessage.IS_EVENT_FLAG)){ ClientListenerServiceImpl listenerService = ClientListenerServiceImpl) client.getListenerService(); listenerService.handleEventMessage(message); else { responseHandler.accept(message); } }
Hiç yorum yok:
Yorum Gönder