22 Ocak 2024 Pazartesi

HazelcastInstanceAware Arayüzü

Giriş
Şu satırı dahil ederiz
import com.hazelcast.core.ClientSchemaService;
Bu sınıfı ilk defa burada gördüm. Açıklaması şöyle
Entry Processor should implement HazelcastInstanceAware interface. It will provide setter to instance. There is no necessity to direct injection of instance. Hz will do it by itself on its side once EP would be deserialised there.


3 Ocak 2024 Çarşamba

Hazelcast Jet JobTerminateRequestedException Sınıfı

Giriş
Şu satırı dahil ederiz 
import com.hazelcast.jet.impl.exception.JobTerminateRequestedException;
Jet işleri nedense exception ile sonlandırılıyor. Sonlandırma sebebi TerminationMode ile belirtiliyor

JobTerminateRequestedException iş Jet Engine tarafından iptal edilince fırlatılır
CancellationByUserException iş kullanıcı tarafından iptal edilince fırlatılır.

TerminationMode şöyle olabilir
  CANCEL_FORCEFUL : İş bitmiştir ve kapatılması gerekir
  CANCEL_GRACEFUL

  RESTART_FORCEFUL : İşin tekrar başlatılması gerekir
  RESTART_GRACEFUL : İşin tekrar başlatılması gerekir

 SUSPEND_FORCEFUL : İşin askıya alınması gerekir
 SUSPEND_GRACEFUL
  




8 Aralık 2023 Cuma

Socket Ayarları

Örnek
Şöyle yaparız
-Dhazelcast.socket.receive.buffer.size=10240 -Dhazelcast.socket.send.buffer.size=10240

7 Aralık 2023 Perşembe

Hazelcast SQL Sütun Tipleri

Sütun Tipleri burada

com.hazelcast.jet.sql.impl.connector.keyvalue.JavaClassNameResolver sütun tiplerinin hangi Java tipine karşılık geleceğini bilir.

6 Aralık 2023 Çarşamba

HazelcastAPI ClientSchemaService Sınıfı

Giriş
Şu satırı dahil ederiz
import com.hazelcast.client.impl.clientside.ClientSchemaService;
replicateSchemaInCluster metodu
Call stack şöyle
replicateSchemaInCluster:140, ClientSchemaService (com.hazelcast.client.impl.clientside)
put:85, ClientSchemaService (com.hazelcast.client.impl.clientside)
putToSchemaService:137, CompactStreamSerializer (com.hazelcast.internal.serialization.impl.compact)
writeObject:148, CompactStreamSerializer (com.hazelcast.internal.serialization.impl.compact)
write:116, CompactStreamSerializer (com.hazelcast.internal.serialization.impl.compact)
write:109, CompactStreamSerializer (com.hazelcast.internal.serialization.impl.compact)
write:39, StreamSerializerAdapter (com.hazelcast.internal.serialization.impl)
toBytes:238, AbstractSerializationService (com.hazelcast.internal.serialization.impl)
toBytes:217, AbstractSerializationService (com.hazelcast.internal.serialization.impl)
toData:202, AbstractSerializationService (com.hazelcast.internal.serialization.impl)
toData:157, AbstractSerializationService (com.hazelcast.internal.serialization.impl)
toData:76, ClientProxy (com.hazelcast.client.impl.spi)
putInternal:553, ClientMapProxy (com.hazelcast.client.impl.proxy)
put:275, ClientMapProxy (com.hazelcast.client.impl.proxy)
Client CompactSerializer'ın kullandığı com.hazelcast.internal.serialization.impl.compact.Schema
nesnesini sunucuya gönderir. Böylece sunucu da bu nesnesi okuyabilir.

HazelcastAPI SchemaService Arayüzü

Giriş
Şu satırı dahil ederiz
import com.hazelcast.internal.serialization.impl.compact.SchemaService;
Kalıtım şöyle
SchemaService
  MemberSchemaService
  

5 Aralık 2023 Salı

Compact Serialization Custom Configuration

Örnek
Şu satırı dahil ederiz
import com.hazelcast.nio.serialization.compact.CompactSerializer;
import com.hazelcast.nio.serialization.compact.CompactReader;
import com.hazelcast.nio.serialization.compact.CompactWriter;
Örnek - Member Side Custom Configuration
Şöyle yaparız
public class Employee {
   ...
}

public class EmployeeSerializer implements CompactSerializer<Employee> {
  @Override
  public Employee read(CompactReader reader) {
    long id = reader.readInt64("id");
    String name = reader.readString("name");
    return new Employee(id, name);
  }

  @Override
  public void write(CompactWriter writer, Employee employee) {
    writer.writeInt64("id", employee.getId());
    writer.writeString("name", employee.getName());
  }

  @Override
  public Class<Employee> getCompactClass() {
    return Employee.class;
  }

  @Override
  public String getTypeName() {
    return "employee";
  }
}

Config config = new Config();
config.getSerializationConfig()
        .getCompactSerializationConfig()
        .addSerializer(new EmployeeSerializer());
Örnek - Client Side Custom Configuration
İstemci tarafından IMap.put işlemi için call stack şöyle . Yazılan byte[] nesnesi HeapData nesnesine çevrili.
write:16, MyWorkerSerializer (com.colak.serilization.compact.serializerconfiguration)
write:7, MyWorkerSerializer (com.colak.serilization.compact.serializerconfiguration)
buildSchema:396, CompactStreamSerializer (com.hazelcast.internal.serialization.impl.compact)
writeObject:147, CompactStreamSerializer (com.hazelcast.internal.serialization.impl.compact)
write:116, CompactStreamSerializer (com.hazelcast.internal.serialization.impl.compact)
write:109, CompactStreamSerializer (com.hazelcast.internal.serialization.impl.compact)
write:39, StreamSerializerAdapter (com.hazelcast.internal.serialization.impl)
toBytes:238, AbstractSerializationService (com.hazelcast.internal.serialization.impl)
toBytes:217, AbstractSerializationService (com.hazelcast.internal.serialization.impl)
toData:202, AbstractSerializationService (com.hazelcast.internal.serialization.impl)
toData:157, AbstractSerializationService (com.hazelcast.internal.serialization.impl)
toData:76, ClientProxy (com.hazelcast.client.impl.spi)
putInternal:553, ClientMapProxy (com.hazelcast.client.impl.proxy)
put:275, ClientMapProxy (com.hazelcast.client.impl.proxy)

THIRD-PARTY.txt Dosyası

Kullanılan harici kütüphanelerin sürümleri bu dosyada Dosyanın yolu şöyle hazelcast/licenses/THIRD-PARTY.txt