Şu anda birden fazla projeye / modüle bölünmüş bir uygulama yazıyoruz. Örneğin, aşağıdaki modülleri ele alalım:
- myApp-DAO
- myApp-jabber
Her modülün kendi Spring bağlam xml dosyası vardır. DAO modülü için, gerekli db bağlantı parametreleriyle bir özellik dosyasını okuyan bir PropertyPlaceholderConfigurer'ım var. Jabber modülünde, jabber bağlantı özellikleri için bir de PropertyPlaceHolderConfigurer'ım var.
Şimdi myApp-DAO ve myApp-jabber'ı içeren ana uygulama geliyor. Tüm bağlam dosyalarını okur ve büyük bir Spring bağlamı başlatır. Maalesef, bağlam başına yalnızca bir PropertyPlaceholderConfigurer olabilir, bu nedenle hangi modül ilk yüklenirse, bağlantı parametrelerini okuyabilir. Diğeri, "Yer tutucu 'jabber.host' çözülemedi" gibi bir hatayla bir istisna atar.
Sorunun ne olduğunu anlıyorum, ama gerçekten bir çözüm ya da kullanım durumum için en iyi uygulamayı bilmiyorum.
Her modülü kendi özellik dosyasını yükleyebilecek şekilde nasıl yapılandırabilirim? Şu anda PropertyPlaceHolderConfigurer'ı ayrı bağlam dosyalarının dışına taşıdım ve bunları ana uygulamanın bağlamında birleştirdim (tüm özellik dosyalarını tek bir PropertyPlaceHolderConfigurer ile yüklüyorum). Bu berbat, çünkü artık dao modülünü kullanan herkesin kendi bağlamında bir PropertyPlaceHolderConfigurer'a ihtiyaç duyduğunu bilmesi gerekiyor .. ayrıca dao modülündeki entegrasyon testleri başarısız oluyor vs.
Stackoverflow topluluğundan çözümler / fikirler duymayı merak ediyorum ..