Proje /Users/elis/Desktop/otomasyon klasörüne kurulmuştur.
macOS:
# Java 11+ Kur
brew install openjdk@11
# Maven Kur
brew install maven
# Kontrol Et
java -version
mvn -versioncd /Users/elis/Desktop/otomasyonbash install.shmvn clean compilemvn testSeçenek 1 - Script Kullanarak:
bash run.shSeçenek 2 - Maven Kullanarak (Temel Demo):
mvn exec:java -Dexec.mainClass="com.otomasyon.AutomationSystemDemo"Seçenek 3 - Maven Kullanarak (Gerçek Dünya Örneği):
mvn exec:java -Dexec.mainClass="com.otomasyon.RealWorldAutomationExample"otomasyon/
├── src/
│ ├── main/java/com/otomasyon/
│ │ ├── AutomationSystemDemo.java # 🎯 Temel Demo
│ │ ├── RealWorldAutomationExample.java # 🎯 Gerçek Dünya Örneği
│ │ ├── core/
│ │ │ ├── AutomationTask.java # 📋 Görev Arayüzü
│ │ │ └── TaskExecutionResult.java # 📊 Sonuç Takibi
│ │ ├── scheduler/
│ │ │ └── AutomationScheduler.java # ⚙️ Zamanlayıcı
│ │ ├── tasks/
│ │ │ ├── BaseAutomationTask.java # 🔧 Temel Görev
│ │ │ ├── DataProcessingTask.java # 📝 Veri İşleme
│ │ │ ├── FileOperationTask.java # 📁 Dosya İşlemleri
│ │ │ ├── ReportGenerationTask.java # 📄 Rapor
│ │ │ └── SystemCommandTask.java # 🖥️ Sistem Komutları
│ │ └── config/
│ │ └── ConfigurationLoader.java # ⚙️ Konfigürasyon
│ ├── test/java/com/otomasyon/
│ │ └── AutomationSystemTest.java # 🧪 Testler
│ └── resources/
│ └── logback.xml # 📝 Loglama Ayarları
├── config/
│ └── automation-config.json # ⚙️ JSON Config
├── pom.xml # 🔨 Maven Yapılandırması
├── README.md # 📖 Detaylı Açıklama
├── QUICKSTART.md # 🚀 Hızlı Başlangıç
├── FEATURES.md # ✨ Özellikler
├── install.sh # 📦 Kurulum Scripti
└── run.sh # ▶️ Çalıştırma Scripti
- ⏱️ Hemen çalıştırma
- ⏰ Belirtilen zaman sonra çalıştırma
- 🔄 Periyodik çalıştırma
- ⏲️ Sabit gecikmeli çalıştırma
- 📝 Veri İşleme: Metin dönüştürme (UPPERCASE, LOWERCASE, REVERSE, COUNT)
- 📁 Dosya İşlemleri: Kopyalama, taşıma, silme, yedekleme
- 📄 Rapor Oluşturma: Otomatik rapor üretimi
- 🖥️ Sistem Komutları: Shell komutlarını çalıştırma
- 🔧 Özel Görevler: Kendi görevlerinizi yazabilirsiniz
- 📊 Çalışma geçmişi takibi
- 🚨 Hata yönetimi
- ⏱️ Zaman ölçümü
- 📝 Detaylı loglama
- 🔀 Thread pool tabanlı
- 🔒 Thread güvenli
- ⚡ Eşzamanlı çalıştırma
import com.otomasyon.scheduler.AutomationScheduler;
import com.otomasyon.tasks.DataProcessingTask;
AutomationScheduler scheduler = new AutomationScheduler(2);
DataProcessingTask task = new DataProcessingTask(
"Büyük Harfe Çevir",
"merhaba otomasyon",
DataProcessingTask.ProcessingType.UPPERCASE
);
scheduler.executeNow(task);
scheduler.shutdown();scheduler.scheduleRepeatedly(task, 0, 10, TimeUnit.SECONDS);
// Her 10 saniyede bir çalışırFileOperationTask backup = new FileOperationTask(
"Günlük Yedek",
"data/myfile.txt",
"backups/myfile_backup.txt",
FileOperationTask.OperationType.COPY
);
scheduler.executeNow(backup);SystemCommandTask cmd = new SystemCommandTask(
"Disk Durumu",
"df -h"
);
scheduler.executeNow(cmd);| Dosya | Açıklama |
|---|---|
README.md |
📖 Detaylı proje açıklaması |
QUICKSTART.md |
🚀 Adım adım başlangıç rehberi |
FEATURES.md |
✨ Tüm özellikler ve detaylar |
AutomationSystemDemo.java |
🎯 Temel örnekler |
RealWorldAutomationExample.java |
🌍 Gerçek dünya senaryosu |
# Derleme
mvn clean compile
# Test
mvn test
# Hep Çalışma
mvn exec:java -Dexec.mainClass="com.otomasyon.AutomationSystemDemo"
# Gerçek Dünya Örneği
mvn exec:java -Dexec.mainClass="com.otomasyon.RealWorldAutomationExample"
# Çıkışa Paket Hazırla
mvn package
# Jar Dosyasını Çalıştır
java -jar target/automation-system-1.0.0.jar-
Temel Tanı
README.mdokuAutomationSystemDemo.javaincele
-
Uygulamayı Çalıştır
bash run.shkomutunu kullan- Çıktıyı gözlemle
-
Kodu Incele
src/main/java/com/otomasyon/tasks/klasörü incele- Görev türlerini anla
-
Özel Görev Yaz
BaseAutomationTaskextend et- Kendi görevin oluştur
-
Genişlet
- Yeni görev türleri ekle
- Veritabanı entegrasyonu yap
# Java kur
brew install openjdk@11
# Yolunu kontrol et
which java# Maven kur
brew install maven
# Yolunu kontrol et
which mvn# Temiz derleme
mvn clean compile
# Ayrıntılı hata
mvn clean compile -X# Testleri atla
mvn clean compile -DskipTests┌─────────────────────────────────────────┐
│ AutomationScheduler │
│ (Merkezi Zamanlama ve Yönetim) │
└──────────┬──────────────────────────────┘
│
┌──────┴──────┬──────────┬──────────┐
│ │ │ │
┌───▼────┐ ┌────▼──┐ ┌───▼────┐ ┌──▼──────┐
│ Thread │ │Thread │ │ Thread │ │ Thread │
│ Pool │ │ Pool │ │ Pool │ │ Pool │
└───┬────┘ └────┬──┘ └───┬────┘ └──┬──────┘
│ │ │ │
├────────────┼─────────┼─────────┤
│ │ │ │
┌───▼─────────────▼──────────▼─────────▼─────┐
│ Görev Yürütme Çerçevesi │
│ ┌──────┬──────┬──────┬──────┬──────┐ │
│ │ Data │ File │Report│System│Custom│ │
│ │Process│Operation││Command│Tasks│ │
│ └──────┴──────┴──────┴──────┴──────┘ │
└──────┬──────────────────────────────────────┘
│
┌──┴──┐
│ │
┌───▼──┐ ┌▼────────┐
│Logger│ │ History │
│ │ │ Tracker │
└──────┘ └─────────┘
- ✅ JSON tabanlı konfigürasyon
- ✅ Concurrent görev yürütme
- ✅ Otomatik hata takibi
- ✅ Performans ölçümü
- ✅ Loglama sistematiği
- ✅ Genişletilebilir mimarı
Sorulara cevapları bul:
README.md- Genel bilgilerQUICKSTART.md- BaşlangıçFEATURES.md- ÖzelliklerAutomationSystemDemo.java- Kod örnekleri
Sistem tamamen kurulu ve çalışmaya hazır! 🚀
Sorunuz varsa veya daha fazla bilgi isterseniz yardımcı olmaktan mutluyum.
Happy Automating! 🤖