2008-09-16 11 views
2

Tomcat'e aşırı aşina değilim, ancak ekibim Tomcat'da barındırılan bir Java Servlet'in etrafında birçok sunucuda bulunan karmaşık bir projeyi miras aldı. Özel yapılandırma yönetim yazılımı server.xml'yi ve server.xml'ye yazılan çeşitli kaynakları (bağlantı havuzları, çekirdekler, sunucu değişkenleri vb.) Yazmak için kullanılır. Her şey yolunda. Bununla birlikte, bazı kaynakların adlarının önceden bilinmediği belirtilmektedir. Örneğin, Servlet, operatör tarafından yapılandırılan herhangi bir sayıda "Anonimleştirici" ye erişime ihtiyaç duyabilir. Her anonimleştiricinin onunla ilişkili benzersiz bir adı vardır. Biz oluşturmak ve aşağıdakine benzer java fasulye kullanarak her anonimleştirme yapılandırın:Bir Tomcat Servlet'indeki kaynaklar için joker karakterler context.xml

<Resource 
    name="bean/Anonymizer_toon" 
    type="com.company.tomcatutil.AnonymizerBean" 
    factory="org.apache.naming.factory.BeanFactory" 
    className="teAnonymizer" 
    databaseId="50" 
/> 
<Resource 
    name="bean/Anonymizer_default" 
    type="com.company.tomcatutil.AnonymizerBean" 
    factory="org.apache.naming.factory.BeanFactory" 
    className="teAnonymizer" 
    databaseId="54" 
/> 

Ancak bu önceden her bir olası her kaynak adının için Servlet en context.xml dosyasında açık girdileri almamız gerekiyor görünmektedir. Açık context.xml girişlerini joker karakterlerle değiştirmek veya bu tür bir soruna daha iyi bir çözüm olup olmadığını bilmek istiyorum. Şu

:

<ResourceLink name="bean/Anonymizer_*" 
       global="bean/Anonymizer_*" 
       type="com.company.tomcatutil.AnonymizerBean"/> 

Ancak, bu mümkün veya doğru sözdizimi ne olabileceğini olmadığını anlamaya edemedik:

<ResourceLink name="bean/Anonymizer_default" 
       global="bean/Anonymizer_default" 
       type="com.company.tomcatutil.AnonymizerBean"/> 

    <ResourceLink name="bean/Anonymizer_toon" 
       global="bean/Anonymizer_toon" 
       type="com.company.tomcatutil.AnonymizerBean"/> 

gibi bir şey ile değiştirildi. Bunu halletmenin daha iyi yolları hakkında herhangi bir öneride bulunabilir mi?

cevap

1

Buna rastlamıyorum, ama AnonymizerService gibi farklı bir AnonymizerBeans'i ortaya çıkaran bir kaynak gibi bir şey yapmak daha kolay olabilir. Bu şekilde joker karakterlerle ilgili bir sorun yaşamayacaksınız, web uygulamasına yalnızca bir Kaynak yayınlamanız gerekiyor ve iyi tanımlanmış ve iyi anlaşılmış bir yola geri döndünüz.

İlk sorudan yaklaşık bir ay sonra yardım edeceğini umarız ...

1

Gereksinim duyduğunuz şey olup olmadığını bilmiyorum, ancak belki de Tomcat için kendi özel kaynak fabrikanızı oluşturmayı araştırmak isteyebilirsiniz. Burada Tomcat üzerinden tüm kaynakların genel dökümanları: Tomcat Resources

+0

Bu, sorunun bir bölümünü cevaplıyor. Herhangi bir isim joker karakteriyle ResourceLink tanımlamanın bir yolu yoktur. Belki de kaynakları bir şekilde bir araya getirerek ele almaya çalışabiliriz, böylece tüm anonimleştiriciler tek bir kaynak olarak context.xml'den geçerler. – DonGar