CDI Uzman Grubu 2. ilk taslak sürümü yayınladı
Java EE 8 çeşitli uzman gruplarında ilerleme eksikliği hakkında birçok tartışma olmuştur. Bunun hiç karşılaşmadığı birkaç gruptan bazıları CDI uzmanları grubudur. Bu şimdi Erken Taslak'ın (EDR) ikinci sürümünü yayınladı ve tüm geliştiriciler geri bildirimlerini sağlamaya davet ediliyor.
Antoine Sabot-Durand (Red Hat) liderliğindeki uzman grubu, sürekli çalışmaları ve topluluğa açılış yoluyla kendini tanıdı. Bu aynı zamanda ikinci erken çıkışın yayınlanmasıyla devam ediyor. 14 Ekim'e kadar, tüm geliştiriciler hala yeni sürümü deneme ve CDI 2.0 spesifikasyonlarını geri bildirimleriyle modelleme fırsatına sahipler.
Hatalar, iyileştirmeler ve yeni özellikler
Mevcut formülasyonların çeşitli hataların düzeltilmesine ve açıklamalarına ek olarak, EDR2 sürümü de bazı yeni özellikler getiriyor. Burada CDI kullanıcıları için üç yeniliği kısaca tanıtmak istiyorum.
Daha kolay ek açıklamalar
Ek açıklamalar doğrudan Java'da başlatılamaz. Bununla birlikte, CDI, dinamik olarak fasulye bulma olasılığı sunar ve geliştiriciler genellikle mevcut fasulye seçimini sınırlamak için nitelikli ek açıklamaları anında yüklemelidir. Bu, içinde bir türevin Gerçek ek açıklama-Belirli ek açıklama için classe oluşturulur. Aşağıdaki kod parçası, Gerçek ek açıklama Varsayılan ek açıklama.
final class DefaultLiteral extends AnnotationLiteral<Default> implements Default { }
EDR2 ile CDI spesifikasyonu şimdi teslimat Gerçek ek açıklamaEk açıklamalar için sık kullanılır. Bunların artık fasulye tarafından dinamik keşfini basitleştiren birçok proje tarafından uygulanması gerekmiyor.
Basitleştirilmiş asenkron olaylar
EDR1 ile zaten tanıtılan asenkron olaylar, ADR2'nin bir parçası olarak basitleştirilmiştir. Şimdi eşzamansız olaylar sadece eşzamansız gözlemciler tarafından detaylandırılıyor ve daha önce senkron tarafından değil. Aşağıdaki tablo, yeni olay işlemine genel bir bakış göstermektedir.
| @Obsersvers | @Observesync |
Ateş () | EVET | HAYIR |
Fireasync () | HAYIR | EVET |
Bu, senkron ve eşzamansız olayları tamamen ayrı hale getirir ve bu nedenle işleme geliştiriciler için anlaşılması daha kolaydır. Bununla birlikte, bu aynı zamanda olayların eşzamanlı ve asenkron bir işlenmesi mümkünse iki farklı olayın etkinleştirilmesi gerektiği anlamına gelir. Yazılımın gelişiminde sıklıkla olduğu gibi, iki kötülüğün en küçüğünü seçmelisiniz ve bence bu başarılı oldu.
Gözlemciyi programlama düzeyinde devre dışı bırakın
Gözlemcilerin programlı deaktivasyonu, bir veto()-Metodo için Prodateberthod-Ne -Interface çok basitleştirilmiştir. Bir uygulamanın dağılımında, CDI kapsayıcısı, her kayıtlı gözlemci için bu arayüze sahip bir olayı etkinleştirir. Bir gözlemciyi devre dışı bırakmak için yapmanız gereken her şey, ilgili etkinliği ve veto()-Modi denir.
()