23 Eylül 2021 Perşembe

SpringSession Apache Ignite

Maven
Şu satırı dahil ederiz. ignite-spring ve ignite-spring-data-2.2-ext SpringData kullanımı için lazım
<properties>
  <ignite.version>2.10.0</ignite.version>
  <ignite.spring.data.version>1.0.0</ignite.spring.data.version>
</properties>

<dependency>
  <groupId>org.apache.ignite</groupId>
  <artifactId>ignite-core</artifactId>
  <version>${ignite.version}</version>
</dependency>

<dependency>
  <groupId>org.apache.ignite</groupId>
  <artifactId>ignite-spring</artifactId>
  <version>${ignite.version}</version>
</dependency>

<dependency>
  <groupId>org.apache.ignite</groupId>
  <artifactId>ignite-spring-data-2.2-ext</artifactId>
  <version>${ignite.spring.data.version}</version>
</dependency>
Kullanım
IgniteClient bean'i yaratırız
//ignite.addresses: 127.0.0.1:10800

@Value("${ignite.addresses}")
private final List<String> addresses;

@Bean
public IgniteClient ignite() {
  ClientConfiguration cfg = new ClientConfiguration()
    .setAddresses(addresses.toArray(new String[0]));

  return Ignition.startClient(cfg);
}
1. IgniteRepository'den kalıtan kendi Repository bean'imizi yaratırız.
2. org.springframework.session.SessionRepository'den kalıtan kendi sınıfımızı yazarız. Ve Bu sınıf içinde IgniteRepository nesnesini kullanarak session bilgisini kaydederiz.


Örnek
Şöyle yaparız
@RepositoryConfig(cacheName = "SessionCache", igniteInstance = IGNITE_NAME,
  autoCreateCache = true)
public interface SessionRepository extends IgniteRepository<MapSession, String> {
}



Hiç yorum yok:

Yorum Gönder