1.4.2. Genişletilebilir Uygulama Paketi (Starter)#
Event uygulamasında projeye özgü özelleştirme veya yeni özelliklerin eklenmesi ihtiyacı olabilir.
Starter paketi proje ihtiyaçlarınızı karşılayabilmeniz için event uygulamasını genişletebilme imkanı sağlamaktadır.
Aşağıdaki adımları uygulayarak projeye özelleştirilmiş event uygulamanızı geliştirmeye başlayabilirsiniz.
Bağımlılıklar#
Gradle Bağımlılıkları
dependencyManagement {
imports {
mavenBom "tr.com.havelsan.framework.oauth:hvl-oauth-parent"
}
}
compile (
[group: 'tr.com.havelsan.framework.oauth' , name: 'hvl-oauth-event-starter']
)
Mevcut özelliklerin aktifleştirilmesi#
Uygulamada kullanılan event streaming platform/message queue seçimine göre profile belirlenmekte (kafka,rabbitmq vs.) ve bu profile göre ilgili consumer'lar çalışmaktadır. Paket yapısı modül bazlıdır ve yeni bir modül eklenerek operation event type'a göre geliştirmeler yapılabilir.
Aktif olacak consumerlar conditional olarak yönetilmektedir ve mesajlarını işlemek istediğiniz modüller için enabled properties hvl.oauth.event.module-name.enabled: true
olarak application-event.yml'da belirtilmelidir. Consumer içerisinde ilgili operation event type'a göre logic işlemleri yapılmalıdır. Mail atmak gereken durumlar için HvlOAuthEventNotifier
kullanılabilir. Bu sayede ilgili event notification topic'ine gönderilir ve notification instance'ı buradan consume ederek ilgili mail gönderme işlemini yapmaktadır.
Bu değişikliklerin spring context'ine dahil olması için aşağıdaki annotation'ı configuration dosyanıza eklemelisiniz.
Starter kullanımına ilişkin detaylı anlatıma buradan ulaşabilirsiniz.