25 Ekim 2022 Salı

Hazelcast JDBC Driver - Java Uygulaması Hazelcast'e Bağlanır

Giriş
Açıklaması şöyle
Hazelcast JDBC Driver allows Java applications to connect to Hazelcast using the standard JDBC API.
Açıklaması şöyle
Hazelcast JDBC driver leverages the Client API of the Hazelcast JAR, which makes it a Type 2 Driver.
Yani aslında yapılan şey SqlService ile Hazelcast SQL Dialect cümlelerini çalıştırmak
Maven
Şu satırı dahil ederiz
<dependency>
  <groupId>com.hazelcast</groupId>
  <artifactId>hazelcast-jdbc</artifactId>
  <version>5.1</version>
</dependency>
Spring ile kullanmak için şöyle yaparız
spring.datasource.url=jdbc:hazelcast://localhost:5701
spring.datasource.driver-class-name=com.hazelcast.jdbc.Driver
Örnek
Şöyle yaparız
jdbc:hazelcast://localhost/
?discoveryToken=...
&sslEnabled=true
&javax.net.ssl.keyStore=...
&keyStorePassword=..." +
&trustStore=...
&trustStorePassword=...
&cloudUrl=https://api.viridian.hazelcast.com
Örnek
Elimizde şöyle bir IMap olsun
hazelcast:
  map:
    analytics:
      indexes:
        - type: HASH
          attributes:
            - "component"
        - type: SORTED
          attributes:
            - "instant"
Şöyle yaparız
try (var connection = DriverManager.getConnection("jdbc:hazelcast://localhost:5701/");
  var statement = connection
    .prepareStatement("SELECT * FROM analytics where component = ? and instant < ?")) {
  statement.setString(1, name);
  statement.setLong(2, instant);
  var resultSet = statement.executeQuery();
  var modelBuilder = new TableModelBuilder<>();
  while (resultSet.next()) {
    var component = resultSet.getString("component");
    System.out.println(component);
  }
}
DBeaver Kullanmak
Hazelcast JDBC sürücüsü DBeaver ile gelmiyor. 
2. Database > Driver Manager > New ile yeni sürücü yaratma penceresi açılır
3. "Settings" sekmesi şöyledir. "Driver Name" olarak istediğim ismi veririm. "Class Name" olarak
"com.hazelcast.jdbc.Driver" yazılır

4. "Libraries" sekmesi şöyledir. "Add File" ile ilk adımda indirdiği jar dosyasını eklerim. "Find Class" düğmesi çalışmıyor.

5. Daha sonra yeni bir "Connection" yaratırım. JDBC adresi şöyledir. UR olarak
"jdbc:hazelcast://localhost:5701" yazdım. Username ve Password alanlarına gerek yok, çünkü Hazelcast'i çalıştırırken şifre koymadım. 5701 cluster'daki ilk member'ın kullandığı port. İkinci member ayarlara bağlı olarak 5702 vs gibi başka bir portu kullanacaktır

Bağlandıktan sonra tablolar şöyle. GenericMapStore  kullandığım için "Tables" altındaki "__map-store.dbmap" benim IMap için yarattığım tablo. Index koymadım.








Hiç yorum yok:

Yorum Gönder

THIRD-PARTY.txt Dosyası

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