Spring Boot ile Hazelcast Kullanımı Uygulama Örneği

Spring Boot
Spring Dersleri

Spring Boot Dersleri‘ne devam ediyoruz.

Spring Boot uygulamamızda Hazelcast nasıl kullanılır bir örnek ile açıklama çalışacağım. Hazelcast’in ne oluduğu hakkında daha detaylı bilgi isterseniz yazıma bakabilirsiniz.

İlgini Çekebilir: Hazelcast Nedir?

Maven bağımlılığımız aşağıdaki gibi olacaktır.

  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.hazelcast</groupId>
            <artifactId>hazelcast</artifactId>
        </dependency>
        <dependency>
            <groupId>com.hazelcast</groupId>
            <artifactId>hazelcast-spring</artifactId>
        </dependency>
    </dependencies>

Bağımlılığımızı ekledik.

Sıra geldi Hazelcast konfigürasyonunu ayarlayacağız. Bu ayarlamayı java kodu yazarak yapacağım isteğe bağlı olarak xml olarak da yapılabilir.

@Configuration
public class HazelcastConfiguration {
    @Bean
    public Config hazelCastConfig(){
        Config config = new Config();
        config.setInstanceName("hazelcast-instance")
                .addMapConfig(
                        new MapConfig()
                                .setName("configuration")
                                .setMaxSizeConfig(new MaxSizeConfig(200, MaxSizeConfig.MaxSizePolicy.FREE_HEAP_SIZE))
                                .setEvictionPolicy(EvictionPolicy.LRU)
                                .setTimeToLiveSeconds(-1));
        return config;
    }
}

Konfigürasyon ayarlarımızı yaptık. Bu ayarlamalar bellek genişliği ve verilerin bellekte kalma süresi hakkında.

Controllerimizi oluşturalım.

@RestController
@RequestMapping("/hazelcast")
public class HazelcastController {

    private final Logger logger = LoggerFactory.getLogger(HazelcastController.class);
    private final HazelcastInstance hazelcastInstance;

    @Autowired
    HazelcastController(HazelcastInstance hazelcastInstance) {
        this.hazelcastInstance = hazelcastInstance;
    }

    @PostMapping(value = "/mesajYaz")
    public String mesajYaz(@RequestParam String key, @RequestParam String value) {
        Map<String, String> hazelcastMap = hazelcastInstance.getMap("mapList");
        hazelcastMap.put(key, value);
        return "Mesaj Kaydedildi.";
    }

    @GetMapping(value = "/mesajOku")
    public String mesajOku(@RequestParam String key) {
        Map<String, String> hazelcastMap = hazelcastInstance.getMap("mapList");
        return hazelcastMap.get(key);
    }
}

Controller oluşturduk. Bu kontrollerimizde bir mesaj alan ve o mesajı okumamızı sağlayacak olan metodlar oldu bunları RestController oluşturarak yaptık.

Postman’ı açalım .

İlgini Çekebilir: Postman Nedir?

Spring Boot uygulamamıza istekte bulunalım ve key value değerlerine bir değer gönderelim. Bu değer gönderme işlemini Controller sınıfında oluşturduğumuz mesajYaz metodundan yapıyoruz.

Spring Boot Hazelcast Demo-1

Şimdi başka bir porttan gönderdiğimiz mesajı okuyalım. Bu okuma işlemini Controller sınıfında oluşturduğumuz Oku metodundan yapıyoruz.

Spring Boot Hazelcast Demo-2

Ve mesajımızı aynı uygulamanın başka bir portundan okuyabildik.

Önceki Ders: LDAP Yetkilendirmesi Kullanmak
Spring Boot Dersleri
Sonraki Ders: 

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Burak KUTBAY 2010 - 2020
%d blogcu bunu beğendi: