Şuayb'in BloguŞuayb'in Blogu
Ana Sayfa
Kategoriler
Oyunlar
MediumHakkındaİletişim
Dil
Tema
    1. Blog
    2. Programlama
    3. Spring Boot Planlanmış Görevler

Spring Boot Planlanmış Görevler

İlk yayın20 Şubat 2025
Son güncelleme21 Şubat 2025
Okuma süresi3 dk okuma
JavaKotlinSpring BootPlanlanmış Görevler
XLinkedInFacebook
Spring Boot Planlanmış Görevler

Beğeni yükleniyor...

Spring Boot, @Scheduled anotasyonu ile arka planda çalışan görevleri kolayca planlamanızı sağlar. Bu yöntem, periyodik görevleri, otomasyon süreçlerini ve toplu işlemleri manuel müdahaleye gerek kalmadan yürütmek için idealdir.


Son güncelleme21 Şubat 2025

Toplam görüntülenmeGörüntülenme yükleniyor...

Önceki makaleSpring Boot Reaktif ProgramlamaSonraki makaleSpring Boot Asenkron Görevler
Şuayb Şimşek

Yazan

Şuayb Şimşek

Spring Boot, güvenlik, mikroservis ve cloud-native mimari konularında pratik teknik notlar paylaşan backend odaklı fullstack geliştirici.

Uzmanlık

  • Spring Boot
  • Go
  • Mikroservis
  • Next.js
  • Cloud Native

Bağlantılar

GitHubLinkedInMedium

Benzer yazılar

Spring Boot Configuration Properties
Programlama

Spring Boot Configuration Properties

@ConfigurationProperties ile tip-güvenli yapılandırma tanımlamayı, @Validated ile ayarları doğrulamayı ve profile-specific application-{profile}.yml dosyalarıyla ortama göre değer yönetimini öğrenin.

4 Şubat 20263 dk okuma
JavaKotlinSpring BootYapılandırma
Spring Boot GraphQL JWE Kimlik Doğrulama
Programlama

Spring Boot GraphQL JWE Kimlik Doğrulama

Stateless şifreli JWT’ler (JWE) ile Spring Boot GraphQL API’lerinizi güvenli hale getirmeyi; kullanıcı kimliği ve rolleri JPA ile bir veritabanında saklamayı öğrenin.

17 Mayıs 20256 dk okuma
JavaKotlinSpring BootGüvenlikJWTJWEGraphQL
Spring Boot JPA ile JWE Kimlik Doğrulaması
Programlama

Spring Boot JPA ile JWE Kimlik Doğrulaması

Stateless şifreli JWT’ler (JWE) kullanarak Spring Boot API’lerinizi güvenli hale getirirken, kullanıcı kimliklerini ve rolleri JPA destekli bir veritabanında nasıl saklayacağınızı öğrenin.

11 Mayıs 20254 dk okuma
JavaKotlinSpring BootGüvenlikJWTJWEJPA

Hakkımda

Spring Boot, mikroservis, güvenlik ve daha fazlası hakkında yazılar.

İletişimYeni başladıysan

Son yazılar

  • Captain Tsubasa 2: World Fighters
  • Captain Tsubasa: Rise of New Champions
  • Spring Boot Configuration Properties
  • Spring Boot GraphQL JWE Kimlik Doğrulama
  • Spring Boot JPA ile JWE Kimlik Doğrulaması

Popüler konular

JavaKotlinSpring BootGüvenlikJWEJWT

Abone ol

Yeni yazılar yayınlandığında pratik backend ve fullstack notlarını al.

Sosyal

© 2024-2026 Şuayb'in Blogu. Tüm hakları saklıdır.

🌟 Neden Spring Boot @Scheduled Kullanmalıyız?

Bu bölümde Neden Spring Boot @Scheduled Kullanmalıyız? konusunu netleştirip uygulamada kullanacağınız temel noktaları özetliyoruz.

  • Görevleri Otomatikleştirin: İşlemleri belirli aralıklarla çalıştırın.
  • Kaynakları Verimli Kullanın: Ana iş parçacıklarını bloklamadan görevleri planlayın.
  • Farklı Zamanlama Seçenekleri: Sabit oranlı, sabit gecikmeli veya cron tabanlı zamanlamalar.
  • Spring Boot Entegrasyonu: Uygulama yaşam döngüsüyle sorunsuz çalışır.

📋 Gereksinimler

Şunlara sahip olduğunuzdan emin olun:

  • ☕ Java Development Kit (JDK) 17+
  • 📦 Maven veya Gradle kurulu
  • 🔤 Bir Java IDE (IntelliJ IDEA, Eclipse vb.)

🛠️ Adım 1: Bağımlılıkları Ekleyin

Cron desteğini etkinleştirmek için spring-boot-starter-web bağımlılığını pom.xml veya build.gradle dosyanıza ekleyin.

Maven:

XMLpom.xml
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Gradle:

GROOVYbuild.gradle
implementation 'org.springframework.boot:spring-boot-starter-web'

Neden spring-boot-starter-web? > @Scheduled anotasyonu çalışırken Spring Context gerektirir. spring-boot-starter-web eklenerek uygulama yaşam döngüsünün doğru şekilde yönetilmesi sağlanır.


🛠️ Adım 2: Cron Etkinleştirme

Cron desteğini etkinleştirmek için ana uygulama sınıfınıza @EnableScheduling anotasyonunu ekleyin.


🛠️ Adım 3: Planlanmış Bir Görev Tanımlayın

@Scheduled kullanarak zamanlanmış bir görev oluşturun.


▶️ Uygulamayı Çalıştırma

Spring Boot uygulamasını çalıştırın:

BASH
./mvnw spring-boot:run

Veya Gradle kullanarak:

BASH
gradle bootRun

Planlanmış görev her 5 saniyede bir çalıştırılacaktır.


🧪 Planlanmış Görevi Test Etme

Bu bölümde Planlanmış Görevi Test Etme konusunu netleştirip uygulamada kullanacağınız temel noktaları özetliyoruz.

Beklenen Konsol Çıktısı:

Kendi log çıktınızı bu örnekle karşılaştırarak davranışın doğru çalıştığını hızlıca teyit edin.

PLAINTEXTsnippet.txt
Planlanmış görev çalıştırıldı: 12:00:01
Planlanmış görev çalıştırıldı: 12:00:06
Planlanmış görev çalıştırıldı: 12:00:11

🏁 Sonuç

Artık Spring Boot Planlanmış Görevler için üretim odaklı bir Spring Boot temeliniz var. Sonraki adımda ayarları kendi domainine uyarlayıp test ve gözlemlenebilirlik katmanını ekleyerek gerçek trafik altında doğrulayın.

JAVAScheduledApplication.java
package com.example.scheduled;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling
public class ScheduledApplication {
    public static void main(String[] args) {
        SpringApplication.run(ScheduledApplication.class, args);
    }
}
KOTLINScheduledApplication.kt
package com.example.scheduled

import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.scheduling.annotation.EnableScheduling

@SpringBootApplication
@EnableScheduling
class ScheduledApplication

fun main(args: Array<String>) {
    runApplication<ScheduledApplication>(*args)
}
JAVAScheduledTask.java
package com.example.scheduled;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import java.time.LocalTime;

@Service
public class ScheduledTask {

    @Scheduled(fixedRate = 5000)
    public void runTask() {
        System.out.println("Planlanmış görev çalıştırıldı: " + LocalTime.now());
    }
}
KOTLINScheduledTask.kt
package com.example.scheduled

import org.springframework.scheduling.annotation.Scheduled
import org.springframework.stereotype.Service
import java.time.LocalTime

@Service
class ScheduledTask {

    @Scheduled(fixedRate = 5000)
    fun runTask() {
        println("Planlanmış görev çalıştırıldı: ${LocalTime.now()}")
    }
}