对于一些使用tomcat的项目,我们将环境变量中的一些配置(URL等)外部化.
示例:/usr/share/tomcat7/conf/other-urls.xml
<!-- LDAP -->
<Environment name="remote/com/mycompany/ldap" type="java.lang.String" value="ldaps://myldap.mycompany.net"/>
Run Code Online (Sandbox Code Playgroud)
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))"
....
/>
Run Code Online (Sandbox Code Playgroud)
...
此配置不起作用(javax.naming.NamingException:无法解析url:$ {remote/com/mycompany/ldap}).当我在connectionURL中编写正确的LDAP-URL时,它可以工作.我尝试了不同的方法:使用$ {..},没有,使用java:/ env/comp,没有.
有没有办法在server.xml中重用环境变量?
谢谢你的任何提示.
CiaoPeterSchütt
| 归档时间: |
|
| 查看次数: |
5466 次 |
| 最近记录: |