Ana içeriğe atla

Genel Bakış

Merkezi Yönetim

Connection (Bağlantı), ActiveMQ broker’larına güvenilir erişim sağlayarak mesaj gönderme ve alma işlemlerini merkezileştirir.

Yeniden Kullanılabilirlik

Farklı Integration Flow adımlarında yeniden kullanılabilir bağlantı parametreleri sunarak yapılandırma tekrarını ortadan kaldırır.

Ortam Bazlı Yönetim

Ortam bazlı yönetimle Development, Test ve Production arasında tutarlı dağıtım (Deployment) süreçleri sağlar.

Performans ve Dayanıklılık

Gelişmiş timeout ve pool yönetimi sayesinde yüksek trafikli senaryolarda performans ve dayanıklılık kazandırır.

Bağlantı Başlatma

Integration Flow veya Connector içerisinden Message Queue bağlantısı talep edildiğinde, sistem yapılandırılmış connection parametrelerini okur.

Connection Pool Yönetimi

Aktif connection pool stratejisiyle önceden açılmış bağlantılar yeniden kullanılır; pool doluysa yeni connection oluşturulur.

Kimlik Doğrulama

Temel Authentication mekanizmasıyla (kullanıcı adı/şifre) veya opsiyonel SSL/TLS sertifika doğrulamasıyla broker’a kimlik doğrulaması yapılır.

Veri İletişimi

AMQP/TCP protokolü üzerinden Queue veya Topic hedefine JMS mesajları senkron/asenkron olarak iletilir ya da tüketilir.

Bağlantı Yönetimi

İşlem tamamlandığında bağlantı pool’a geri döner; pasif bağlantılar pool politikalarına göre kapatılır.

Hata Yönetimi

Bağlantı hatası, timeout veya authentication hatası durumunda hata ayrıntıları loglanır sistem otomatik yeniden deneme ve kullanıcıya uyarı mesajı üretir.

Asenkron Mesaj Kuyruğu

Uygulama bileşenlerinin ActiveMQ üzerinden asenkron mesaj kuyruğu işlemleri yürütmesi.

Güvenilir Mesaj Yayını

Queue veya Topic tabanlı entegrasyonlarda güvenilir mesaj yayını ve tüketimi.

Yüksek Hacimli Mesaj Senaryoları

İş zekâsı, bildirim veya entegrasyon servislerinde yüksek hacimli mesaj senaryoları.

Mikroservisler Arası İletişim

Mikroservisler arası iletişimde AMQP tabanlı olay paylaşımı.

Legacy JMS Entegrasyonu

Legacy JMS uygulamalarını modern Integration Flow adımlarına dahil etme.

Teknik Özellikler ve Yetenekler

Temel Özellikler

Protokol Esnekliği: AMQP veya TCP protokolü seçimiyle farklı ActiveMQ dağıtımlarına uygun bağlantı sağlar. Destination Yönetimi: Queue veya Topic destinasyonlarını tek ekran üzerinden yönetir, gerekli kimlik bilgileriyle birlikte saklar. Oturum Onayı Politikası: AUTO_ACKNOWLEDGE varsayılanı ile hızlı entegrasyon; CLIENT_ACKNOWLEDGE veya TRANSACTED ile gelişmiş kontrol sunar. Ortam Bazlı Yapılandırma: Her ortam (Development, Test, Production) için ayrı connection parametreleri tanımlama imkanı. Enable/Disable Kontrolü: Connection’ı aktif veya pasif hale getirme (enable/disable toggle). Pasif durumda bağlantı kullanılamaz ancak yapılandırması saklanır.

İleri Düzey Özellikler

Timeout Yönetimi: Bağlanma, istek yanıtlama ve mesaj gönderme süreleri milisaniye cinsinden hassas ayarlanabilir. İçerik Özelleştirme: Content-Type ve Content-Encoding alanlarıyla mesaj meta verisi standartlaştırılır. Client ID Tanımlama: JMS ClientID desteği sayesinde kalıcı abonelik veya dayanıklı tüketici senaryoları mümkün olur. Connection Test Özelliği: “Test Connection” butonu ile bağlantı parametrelerini kaydetmeden önce doğrulama imkanı. Export/Import Özelliği: Connection yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Development, Test, Production) import etme. Versiyon kontrolü ve yedekleme imkanı. Connection Monitoring: Bağlantı sağlığı, pool durumu ve performans metriklerini izleme.

Connection Parametreleri

Name

Açıklama: Connection adı (benzersiz olmalı)
Örnek Değer: Production_ActiveMQ
Notlar: Boşlukla başlamaz, özel karakterler kullanılmamalı

Broker URL

Açıklama: ActiveMQ broker erişim adresi
Örnek Değer: tcp://mq.prod.local:61616
Notlar: Protokol (amqp/tcp) ve port değerini içerir

Username

Açıklama: ActiveMQ erişim kullanıcı adı
Örnek Değer: mq_service_user
Notlar: Yetkilendirilmiş hesap kullanılmalı

Password

Açıklama: Kullanıcıya ait şifre
Örnek Değer: ********
Notlar: Şifre saklama için secret manager kullanılmalı

Destination Type

Açıklama: Queue veya Topic seçimi
Örnek Değer: QUEUE
Notlar: Enum değerleri: QUEUE, TOPIC

Destination Name

Açıklama: Mesaj kuyruğu veya topic adı
Örnek Değer: order.events.queue
Notlar: Namespace kuralına uyulmalı

ActiveMQ Connection Protocol Type

Açıklama: Kullanılacak bağlantı protokolü
Örnek Değer: AMQP
Notlar: Enum değerleri: AMQP, TCP

Session Acknowledgement

Açıklama: JMS oturum onay tipi
Örnek Değer: AUTO_ACKNOWLEDGE
Notlar: Enum değerleri: AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, SESSION_TRANSACTED, DUPS_OK_ACKNOWLEDGE

Environment Id

Açıklama: Ortam seçimi referansı
Örnek Değer: env-prod-01
Notlar: Ortam listesi Environment servisinden gelir

Send Timeout

Açıklama: Mesaj gönderimi için bekleme süresi
Varsayılan Değer: 60000
Önerilen Değer: 30000 - 120000 aralığında ihtiyaca göre

Request Timeout

Açıklama: Yanıt bekleme süresi
Varsayılan Değer: 60000
Önerilen Değer: Kritik işlemler için 45000

Close Timeout

Açıklama: Bağlantıyı kapatma süresi
Varsayılan Değer: 60000
Önerilen Değer: Uzun oturumlar için 90000

Connect Timeout

Açıklama: Broker’a bağlanma süresi
Varsayılan Değer: 60000
Önerilen Değer: Yüksek gecikmeli ağlarda 90000 ms

Content Type

Açıklama: Mesaj içerik tipi
Varsayılan Değer: application/json
Önerilen Değer: İş yüküne göre application/xml

Content Encoding

Açıklama: Mesaj karakter seti
Varsayılan Değer: UTF-8
Önerilen Değer: Standart UTF-8 kullanımı önerilir

Client ID

Açıklama: Kalıcı abonelik kimliği
Varsayılan Değer: durable-consumer-1
Önerilen Değer: Durable topic aboneliklerinde zorunlu

Timeout ve Connection Pool Parametreleri

Connection Timeout

Açıklama: Bağlantı kurulması için maksimum bekleme süresi
Varsayılan: 60000
Min: 1000 | Max: 180000
Birim: milisaniye

Request Timeout

Açıklama: İstek yanıtı için maksimum bekleme süresi
Varsayılan: 60000
Min: 1000 | Max: 180000
Birim: milisaniye

Pool Size

Açıklama: Connection pool’daki maksimum bağlantı sayısı
Varsayılan: 10
Min: 1 | Max: 200
Birim: adet

Send Timeout

Açıklama: Mesaj gönderiminin en uzun sürmesi beklenen süre
Varsayılan: 60000
Min: 5000 | Max: 180000
Birim: milisaniye

Kullanım Senaryoları

Sipariş Kuyruğu Tüketimi

Durum: Yeni sipariş mesajları ActiveMQ kuyruğuna düşüyor
Çözüm: Destination Type=QUEUE, Destination Name=order.events.queue, Protocol=AMQP
Beklenen Davranış: Integration Flow sipariş mesajlarını sıralı tüketir

Canlı Bildirim Yayını

Durum: Websocket bildirimleri topic üzerinden dağıtılacak
Çözüm: Destination Type=TOPIC, Destination Name=notifications.topic, ClientID=notif-producer
Beklenen Davranış: Tüm aboneler gerçek zamanlı bildirim alır

Yüksek Güvenlikli Broker

Durum: Production broker sadece SSL kabul ediyor
Çözüm: Protocol=TCP, Broker URL=ssl://mq.prod.local:61617, SSL sertifika ekleri
Beklenen Davranış: Şifreli bağlantı başarılı kurulur

Uzun Süreli İşlem

Durum: Batch job büyük mesaj paketleri gönderiyor
Çözüm: Send Timeout=120000, Request Timeout=120000, Pool Size=30
Beklenen Davranış: Mesaj gönderimi kesintisiz tamamlanır

Test Ortamı Simülasyonu

Durum: Test broker düşük kaynaklı
Çözüm: Pool Size=5, Request Timeout=45000, Content Type=application/json
Beklenen Davranış: Kaynak kullanımı optimize edilir, test stabil çalışır

Disaster Recovery

Durum: Yedek broker’a geçiş gerekliliği
Çözüm: Broker URL ikincil adrese güncellenir, Enable toggle ile aktif edilir
Beklenen Davranış: Trafik kesintisiz şekilde yedek broker’a kayar

Connection Yapılandırma

Yeni Apache ActiveMQ Oluşturma

Apache ActiveMQ Oluşturma Ekranı

Yapılandırma Adımları

1

Oluşturma Sayfasına Gitme

  • Sol menüden Connection → Apache ActiveMQ bölümüne gidin.
  • Sağ üstteki [+ Create] butonuna tıklayın.
2

Temel Bilgileri Girme

Enable Status (Aktif Durumu):Toggle ile aktif/pasif durumu ayarlayın. Yeni connection’lar varsayılan olarak aktiftir.Name (İsim) Zorunlu:Örnek: Production_ActiveMQ
  • Benzersiz isim girin, boşlukla başlamaz.
  • Sistem otomatik kontrol eder. Yeşil tik: kullanılabilir. Kırmızı çarpı: mevcut isim.
Description (Açıklama):Örnek: “Sipariş kuyruğu entegrasyonu”
  • Maks. 1000 karakter.
  • Connection’ın amacını açıklayın.
Sayfanın üst kısmındaki işlem butonları alanında, [<> Variable] butonunu kullanarak dinamik değer seçebilir, global variable ifadeleri sayesinde connection parametrelerini sabit değer yerine değişken tabanlı yönetebilirsiniz. Detaylı bilgi için Dinamik Değişkenler sayfasını inceleyebilirsiniz.
3

Environment (Ortam) Seçimi

  • Dropdown menüden ortam seçin: Development, Test, veya Production.
  • Her ortam için farklı connection parametreleri tanımlanabilir.
4

ActiveMQ Temel Parametreleri

  • Broker URL, ActiveMQ Connection Protocol Type, Destination Type, Destination Name alanlarını girin.
  • Broker URL’si AMQP/TCP şemasına uygun olmalı; destinasyon tipi Queue veya Topic olarak seçilmelidir.
5

Mesajlaşma Oturumu ve İçerik Ayarları

  • Session Acknowledgement tipini JMS stratejinize göre belirleyin. Opsiyonel olarak Content Type, Content Encoding, Client ID alanlarını doldurun.
  • Durable topic aboneliklerinde Client ID gereklidir.
6

Timeout ve Connection Pool Ayarları

  • Send Timeout, Request Timeout, Connect Timeout, Close Timeout değerlerini milisaniye olarak girin.
  • Yoğun trafik için pool boyutlarını ve süreleri optimize edin.
7

Güvenlik ve Authentication Ayarları

  • Username ve Password alanlarını doldurun. SSL/TLS gereksinimleri varsa broker URL’sini ssl:// ile yapılandırın ve gerekli sertifikaları Environment deposuna ekleyin.
8

Test Connection

  • [Test Connection] butonuna tıklayın.
  • Bağlantı parametrelerinin doğru olup olmadığını test edin.
  • Başarılı: Yeşil onay mesajı, Başarısız: Hata detayları gösterilir.
9

Kaydetme

  • Sağ üstteki [Save and Deploy] butonuna tıklayın.
Kontrol Listesi:
  • Benzersiz isim
  • Zorunlu alanlar dolu
  • Test connection başarılı (önerilir)
Sonuç:
  • Connection listeye eklenir.
  • Integration Flow ve Connector adımlarında kullanılabilir hale gelir.
  • Ortama göre aktif olur.

Connection’ı Silme

Connection’ı silmek için:

Yöntem 1: View Ekranından

  • Connection’ın view ekranına gidin.
  • Sağ üstteki [Delete] butonuna tıklayın.
  • Onay dialogunda silme işlemini onaylayın.

Yöntem 2: Liste Ekranından

  • Connection listesinde satır sonundaki menüsünden Delete seçeneğini tıklayın.
  • Onay dialogunda silme işlemini onaylayın.

Silme İpuçları

Silmeden Önce Kontrol Edin:
  • Integration Flow veya Connector adımlarında kullanılıyor olabilir.
  • Gerekirse alternatif bir connection atayın.
  • Silmeden önce Export ile yedek alın.

Alternatif: Deaktif Etme

  • Silmek yerine view ekranından [Disabled] butonunu kullanın.
  • Connection pasif olur ancak silinmez.
  • Gerektiğinde [Enabled] butonu ile yeniden etkinleştirilebilir.

Connection’ı Dışa/İçe Aktarma

Bu adımda kullanıcı, mevcut connection’ları yedekleme, farklı ortamlara taşıma veya paylaşma amacıyla dışa aktarabilir (export) ya da daha önce dışa aktarılmış bir connection’ı tekrar içe aktarabilir (import). Bu işlem, sürüm yönetimi, test ve üretim ortamları arasında geçiş veya ekipler arası paylaşım süreçlerinde veri bütünlüğünü korumak için kullanılır.

Yöntem 1: View Ekranından

  • Connection’ın view ekranına gidin.
  • Sağ üstteki [Export] butonuna tıklayın.
  • ZIP dosyası otomatik olarak indirilir.

Yöntem 2: Liste Ekranından

  • Connection listesinde satır sonundaki menüsünden Export seçeneğini tıklayın.
  • ZIP dosyası otomatik olarak indirilir.

Dosya Formatı

Format: {Date}-activemq-integration-{ConnectionName}-export.zip
Örnek: 13 Nov 2025-activemq-integration-Production_ActiveMQ-export.zip

ZIP İçeriği

  • Connection JSON dosyası
  • Metadata bilgileri
  • Bağımlılık bilgileri (örneğin sertifikalar, key store)

Kullanım Alanları

  • Yedekleme
  • Ortamlar arası taşıma (Test → Prod)
  • Versiyonlama
  • Ekip veya proje bazlı paylaşım

İçe Aktarma Adımları

  • Ana listede [Import Apache ActiveMQ] butonuna tıklayın.
  • İndirilen ZIP dosyasını seçin.
  • Sistem kontrolleri: Format geçerli mi? İsim çakışması var mı? Bağımlılıklar mevcut mu?
  • Ardından [Import] butonuna tıklayın.

İçe Aktarma Senaryoları

Senaryo 1: İsim Çakışması → Eski connection’ın üzerine yazın veya yeni bir isimle oluşturun.Senaryo 2: Eksik Bağımlılıklar → Eksik sertifikaları veya key store’ları önce oluşturun veya import sırasında çıkarın.

Connection’ın Kullanım Alanları

Connection Oluşturma ve Aktif Etme

Adımlar:
  1. Connection’ı oluşturun.
  2. Test Connection ile bağlantıyı doğrulayın.
  3. Save and Deploy ile kaydedin ve etkinleştirin.
  4. Connection’ın Enabled durumda olduğundan emin olun.
  5. View ekranından connection bilgilerini görüntüleyebilirsiniz.

Connection Görüntüleme ve Yönetim

  • View ekranından connection’ın tüm yapılandırma bilgilerini görüntüleyebilirsiniz.
  • View ekranından Edit, Enable/Disable, Delete ve Export işlemlerini gerçekleştirebilirsiniz.
  • Connection durumunu anlık olarak kontrol edebilirsiniz.

Integration / Connector Adımlarında Kullanım

  • Mesaj kuyruğu (queue), topic, e-posta, FTP/SFTP, LDAP veya benzeri dış sistemlerle iletişim isteyen adımlarda connection seçilir.
  • Örnek: “Send Message”, “Consume Message”, “Upload File”, “Read Directory” gibi adımlar.
  • Bağlantı seçimi bu adımların yapılandırmasında yer alan Connection alanından yapılır.

Scheduled Job Kullanımı

  • Zamanlanmış görevlerde (ör. belirli aralıklarla mesaj gönderme, dosya işleme vb.) bağlantı seçilerek dış sistemlere erişim sağlanır.
  • Connection değiştiğinde, job çalışma davranışı da buna göre güncellenir.

Test Amaçlı Kullanım

  • Connection Test özelliği ile bağlantının doğruluğu Integration Flow’dan bağımsız olarak kontrol edilebilir.
  • Bu test hata ayıklama sürecinde kritik önem taşır.
  • View ekranından connection bilgilerini kontrol ederek test sonuçlarını doğrulayabilirsiniz.

Connection Durum Yönetimi

  • View ekranından Enable/Disable butonları ile connection durumunu hızlıca değiştirebilirsiniz.
  • Pasif connection’lar Integration Flow’larda kullanılamaz.
  • Durum değişiklikleri anında uygulanır ve connection listesinde görüntülenir.

Best Practices

Yapılması Gerekenler ve En İyi Uygulamalar

Güvenlik En İyi Uygulamaları

Kaçınılması Gerekenler

Performans İpuçları

Sorun Giderme (Troubleshooting)

Sık Sorulan Sorular (SSS)

BROKER URL için Örnekler

AMQP URL Örnekleri

TCP URL Örnekleri

Önemli Parametreler ve Değerleri

Yaygın Kullanım Senaryoları