SORU
4 AĞUSTOS 2010, ÇARŞAMBA


Birden fazla proje içinde birden çok özellik dosyaları (PropertyPlaceholderConfigurer) kullanarak modül

Şu anda birden fazla proje bölünmüş olan bir uygulama yazıyoruz/modülleri. Örneğin, aşağıdaki modüller atalım:

  • uygulamam-DAO
  • uygulamam-jabber

Her modül kendi Bahar içerik xml dosyası vardır. DAO modülü için gerekli db bağlantı parametreleri ile özelliği bir dosya okuyan bir PropertyPlaceholderConfigurer var. Jabber modülünde ben de jabber bağlantı özelliklerini bir PropertyPlaceHolderConfigurer.

Şimdi uygulamam-DAO içerir ve uygulamam-jabber ana uygulama geliyor. Tüm içerik dosyaları okur ve büyük bir Yay bağlam başlar. Ne yazık ki sadece ilk yüklü alır hangisi bu bağlantı parametreleri okumak çok bağlam başına bir PropertyPlaceholderConfigurer olabilir gibi görünüyor. Diğer bir "yer tutucu çözülemedi 'jabber.gibi bir hata ile bir istisna atar". 'host

Ben sorunun ne olduğunu, ama gerçekten bir çözüm - ya da benim usecase için en iyi yöntem bilmiyorum.

Nasıl her biri kendi özellik dosya yüklemek mümkün, böylece her bir modül yapılandırma ki? Şu an ayrı bağlam dosyalardan PropertyPlaceHolderConfigurer taşındım ve ana uygulamanın bağlam (tek PropertyPlaceHolderConfigurer ile tüm mal yükleme dosyaları) içine birleştirilmiş. Bu dao modülü bilmek zorunda değil, kendi bağlamında bir PropertyPlaceHolderConfigurer ihtiyaç duydukları kullanan hemen herkes .. ayrıca dao modülünde entegrasyon testleri vb başarısız çünkü gerçekten de berbat.

Stackoverflow topluluk.. fikirler/çözümler hakkında merak ediyorum

CEVAP
4 AĞUSTOS 2010, ÇARŞAMBA


Her yer tutucu, kapsamları dahil her zaman unresolvable anahtarları görmezden olduğundan emin olun Eğer her iki yaklaşım iş. Örneğin:

<context:property-placeholder
location="classpath:dao.properties,
          classpath:services.properties,
          classpath:user.properties"
ignore-unresolvable="true"/>

ya

    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:dao.properties</value>
                <value>classpath:services.properties</value>
                <value>classpath:user.properties</value>
            </list>
        </property> 
        <property name="ignoreUnresolvablePlaceholders" value="true"/>
    </bean>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kremosakhaz

    kremosakhaz

    25 AĞUSTOS 2006
  • Muse

    Muse

    28 EYLÜL 2006
  • Tylerron

    Tylerron

    6 AĞUSTOS 2006