2015-04-10 22 views
6

'daki Ortam değişkenlerinin yeniden kullanılması, ortam değişkenlerindeki bazı yapılandırmaları (URL'ler, vb.) Dışarda tutarız.Tomcat 7/8: tomcat içeren bazı projeler için server.xml

Örnek: /usr/share/tomcat7/conf/other-urls.xml

<!-- LDAP --> 
<Environment name="remote/com/mycompany/ldap" type="java.lang.String" value="ldaps://myldap.mycompany.net"/> 

server.xml

<?xml version='1.0' encoding='utf-8'?> 
<!DOCTYPE server-xml [ 
    <!ENTITY Other-URLs SYSTEM "/usr/share/tomcat7/conf/other-urls.xml"> 
]> 
<Server port="8005" shutdown="SHUTDOWN"> 
... 
    <GlobalNamingResources> 
     &Other-URLs; 
    </GlobalNamingResources> 
    .... 
    <Service name="Catalina"> 
    .... 
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="4996b9646dc"> 

    <Realm className="org.apache.catalina.realm.JNDIRealm" 
     connectionURL="${remote/com/mycompany/ldap}" 
     userPattern="(|(uid={0},ou=People,dc=mycompany,dc=net)(uid={0},ou=Other,dc=mycompany,dc=net))"  
    .... 
    /> 

...

Bu yapılandırma çalışmıyor (javax.naming.NamingException: URL ayrıştırılamıyor: $ {remote/com/mycompany/ldap}). ConnectionURL'de doğru LDAP URL'sini yazdığımda çalışır. Farklı yollar deniyorum: $ {..} ile, java ile:/env/comp, olmadan.

Server.xml dosyasındaki ortam değişkenini yeniden kullanmanın bir yolu var mı?

Herhangi bir ipucu için teşekkürler.

Ciao Peter Schütt

cevap