2013-12-08 295 views
1

我在elasticbeanstalk上的amazon aws托管的我的tomcat servlet遇到了一些问题。对某些值返回null的System.getProperties

为了保护敏感数据,我将它保存在web.xml文件中,以便它可以从System.getProperties()引用。

当通过代码System.getProperties()调用这些数据时,其中一些数据返回空 - 而其他数据也会通过System.getProperties()返回正确的值。

我的web.xml文件如下:

<env-entry> 
    <env-entry-name>RDS_PASSWORD</env-entry-name> 
    <env-entry-type>java.lang.String</env-entry-type> 
    <env-entry-value>blah</env-entry-value> 
</env-entry> 
<env-entry> 
    <env-entry-name>RDS_HOSTNAME</env-entry-name> 
    <env-entry-type>java.lang.String</env-entry-type> 
    <env-entry-value>blah</env-entry-value> 
</env-entry> 
<env-entry> 
    <env-entry-name>DUMBDATA</env-entry-name> 
    <env-entry-type>java.lang.String</env-entry-type> 
    <env-entry-value>blah</env-entry-value> 
</env-entry> 

我的代码如下:

 w.println(System.getProperty("DUMBDATA")); 
    w.println(System.getProperty("RDS_HOSTNAME")); 

虽然我尝试从同样的方法访问数据和他们在成立同样的,RDS_HOSTNAME返回它的正确值,而DUMBDATA返回null。

我很欣赏这个问题的任何见解,

谢谢。

+0

您有使用JNDI访问环境条目,环境entrie不是系统属性。 – vzamanillo

回答

2

尝试像

Properties p = System.getProperties(); 
Enumeration keys = p.keys(); 
while (keys.hasMoreElements()) { 
    String key = (String)keys.nextElement(); 
    String value = (String)p.get(key); 
    w.println(key + ": " + value); 
} 

,找出哪些是支持的。