Sürüm Notları#
Plugin Güncellemeleri#
Genel Olarak#
hvl-javalt-framework-plugin-parent
projesi oluşturuldu (JAVALTPR-3315). Böylece artık tek bir parent versiyon kullanılarak, plugin tanımlamaları sırasında ayrıca versiyon vermeye gerek kalmamıştır. Migrasyon adımları şöyledir:gradle.properties
dosyası içerisinde plugin versiyonlarının tamamı silinip yerinehvlJavaltFrameworkPluginParentVersion=3.3.0
yazılmalıdır.settings.gradle
dosyası içindekigradle.projectsLoaded
->dependencies
içerisine satırı eklenmelidir. Diğer classpathlerin sonundaki version ifadeleri kaldırılmalıdır.- Root
build.gradle
dosyası içerisindesubprojects
altına aşağıdaki blok eklenmelidir. - Modüller içerisinde ayrıca kullanılan veya tanımlanan pluginler varsa hepsinin versiyon kısımları silinmelidir. Artık pluginler uygun versiyon bilgisini tanımlanan plugin parent içerisinden alacaktır.
- Örnek olarak hvl-javalt-samples projesi incelenebilir.
hvl-gradle-plugin#
hvl-gradle-code-generator-plugin#
hvl-gradle-hibernate-plugin#
hvl-gradle-liquibase-plugin#
hvl-gradle-lombok-plugin#
hvl-gradle-mapstruct-plugin#
hvl-gradle-maven-plugin#
hvl-gradle-querydsl-plugin#
hvl-gradle-spring-plugin#
- Unit testler için JUnit 5 uyumluluğu sağlandı. (JAVALTPR-3482)
- Docker push için
dockerPublishingUrl
vedockerPublishingName
parametreleri özelleştirme sağlandı.
hvl-gradle-workspace-plugin#
Core Güncellemeleri#
hvl-framework#
- Entegrasyon testleri için test container altyapısı eklendi. Bu kapsamda eksen tarafından kullanılan third-party container'lar ve config-server container'ı eklendi. Doküman Linki (JAVALTPR-3475)
hvl-cloud-framework#
hvl-session#
hvl-cloud-session#
hvl-security#
hvl-cloud-security#
hvl-data#
HvlSimpleEntity
yapısı değiştirildi ve primary key olarakUUID
kullanımına destek verdildi. (JAVALTPR-3500) Örnek kullanım aşağıdaki gibidir. Projenin tamamına buradan erişilebilir.
@Entity
@Table(name = HvlJpaUuidSample.TABLE_NAME)
public class HvlJpaUuidSample extends HvlSimpleEntity<UUID> {
//Table Name
public static final String TABLE_NAME = "SAMPLE_UUID";
//Columns
public static final String NAME_COLUMN = "NAME";
public static final String SURNAME_COLUMN = "SURNAME";
@Column(name = NAME_COLUMN)
@NotBlank
@Size(max = HvlJpaSampleConstraint.NAME_SIZE)
private String name;
@Column(name = SURNAME_COLUMN)
@NotBlank
@Size(max = HvlJpaSampleConstraint.SURNAME_SIZE)
@Convert(converter = HvlStringCryptoConverter.class)
private String surname;
...
HvlEnversRevisionEntity
içerisindekiInteger
tipindekiid
alanıLong
yapıldı.
Tip Değişikliği
Bu kapsamda liquibase scriptlerinde tip değişikliği için ekleme yapılmalıdır. Eskiden integer olan bu alan artık Long olduğu için ilgili revision entitylerin scriptleri güncellenmelidir.
- EKSEN tarafından sağlanan entityler için id sequence generator yapısı değiştirilmiştir. Bu kapsamda
hvl-infra
'dakiapplication-database-datasource.yml
dosyasına aşağıdaki alanlar eklenmiştir.- spring.jpa.properties.hibernate.id-generator.hvl_default_numeric_type_strategy: tr.com.havelsan.javarch.domain.model.entity.strategy.sequence.HvlEntitySequenceGeneratorStrategy
- spring.jpa.properties.hibernate.id-generator.hvl_default_uuid_type_strategy: tr.com.havelsan.javarch.domain.model.entity.strategy.uuid.HvlEntityTimeOrderedEpochBasedUUIDGeneratorStrategy
hvl-cache#
hvl-mq#
hvl-support#
hvl-mail-support
kütüphanesindekiHvlMailAutoConfiguration
sınıfıHvlMailConfiguration
şeklinde normal konfigürasyon sınıfına dönüştürülmüştür ve bu konfigürasyonu aktif etmek için@HvlEnableMailSupport
anotasyonu eklenmiştir. (JAVALTPR-3375)
Önemli Değişiklik
hvl-mail-support
sınıfı kullanılan modüllerde konfigürasyon sınıfı artık otomatik olarak devreye girmeyeceği için, mail ile ilgili bean'ların oluşmasını sağlamak için @HvlEnableMailSupport
anotasyonu kullanılmalıdır.
Cloud Ürün Güncellemeleri#
hvl-config-instance#
hvl-gateway-instance#
- İstek kısıtlama/bloklama özelliği eklenmiştir. Doküman Linki (JAVALTPR-3476)
hvl-admin-instance#
hvl-registry-instance#
Backend Ürün Güncellemeleri#
hvl-oauth-instance#
Önemli Değişiklikler
Logger Processor Oauth instance'ı artık kullanılmadığı için kullanımdan kaldırılmıştır. Bu kapsamda docker ve kubernetes konfigürasyonları hvl-infra
'dan silinmiştir. (JAVALTPR-3523)
hvl-notification-instance#
hvl-logger-instance#
Önemli Değişiklikler
3.1.0 versiyonunda Deprecated olarak işaretlenen builder sınıfları silinmiştir. Builder sınıfları model sınıflarının içine taşındı. HvlEventLogModelBuilder.create()
gibi kullanımların compile hatası alması durumunda, HvlEventLogModel.builder()
şeklinde değiştirilmesi gerekmektedir.
- 3.1.0 versiyonunda Deprecated olarak işaretlenen builder sınıfları silinmiştir. (JAVALTPR-3333)
- Logger producer MQ Provider servisine
produceAsync
methodu eklenmiştir. (JAVALTPR-3334) - Logger producer jpa data provider (
hvl-logger-producer-jpa-data-provider
) paketine farklı bir şema üzerinden çalışma yeteneği eklenmiştir. Doküman Linki (JAVALTPR-3356) - Logger processor uygulamasına olay kayıtlarının arşiv tablosunu temizleme özelliği eklenmiştir. (JAVALTPR-3367) Doküman Linki
- Logger processor job clenaer süresi milisaniye cinsinden iso formatına değiştirildi.
PROCESSOR_PROCESS_INTERVAL
yeni değeriPT10S
yapıldı. (JAVALTPR-3373) - Logger için test container desteği eklendi. Gradle bağımlılığı:
[group: 'tr.com.havelsan.framework.logger.test', name: 'hvl-logger-test']
, (JAVALTPR-3465) - Logger search için kullanılan
HvlLogSearchQueryModel
içerisindekiindices
alanının virgül kullanılarak çoklu indeks ismi ile çalışabilmesi sağlandı. Örnek:index1*,index2*
(JAVALTPR-3519)