Java 加载后属性文件不存在时,使用外部属性文件的属性
我在spring应用程序中访问外部属性文件,如下所示。此文件包含敏感数据-应用程序需要的一些加密密钥Java 加载后属性文件不存在时,使用外部属性文件的属性,java,spring,Java,Spring,我在spring应用程序中访问外部属性文件,如下所示。此文件包含敏感数据-应用程序需要的一些加密密钥 <context:property-placeholder location="file:${JBOSS_HOME}/123.properties,classpath:constants.properties" ignore-resource-not-found="true"/> <bean id="helloWorldBean" class="com.javacod
<context:property-placeholder location="file:${JBOSS_HOME}/123.properties,classpath:constants.properties" ignore-resource-not-found="true"/>
<bean id="helloWorldBean"
class="com.javacodegeeks.snippets.enterprise.services.HelloWorld">
<property name="key1" value="${key1}" />
<property name="key2" value="${key2}" />
<property name="key3" value="${key3}" />
</bean>
应用程序启动后,出于安全目的,外部服务将删除属性文件
由于属性文件在几分钟后不可用,删除后如何访问密钥
由于键是固定的,我可以将值分配给一个Singleton
类,该类保存key1、key2、key3
,并使用Singleton
对象吗
这是推荐的解决方案吗?为了避免在读取之前删除文件可能出现的问题,我还将添加一些逻辑,以确认所有密钥都已读取并准备好使用。通过此检查后,应更新某些状态,指示可以删除该文件。删除文件的外部服务的行为应该类似于
- 检查文件是否被读取李>
- 如果没有,睡一段时间李>
- 如果“上一步”为真,则转到第一点(文件尚未读取)李>
- 如果是,则删除文件并停止活动李>