Spring Boot ile Hazelcast Kullanımı Uygulama Örneği
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>
Code language: HTML, XML (xml)
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;
}
}
Code language: PHP (php)
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);
}
}
Code language: JavaScript (javascript)
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.
Ş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.
Ve mesajımızı aynı uygulamanın başka bir portundan okuyabildik.
No Comment! Be the first one.