我在Spring应用程序中访问外部属性文件,如下所示。此文件包含敏感数据 - 应用程序所需的一些deryption密钥。
<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
的{{1}}类并使用key1,key2,key3
对象吗?
这是推荐的解决方案吗?
答案 0 :(得分:0)
为了避免在读取文件之前删除文件的可能问题,我还会添加一些逻辑,确认所有密钥都已读取并准备好使用。通过此检查后,应更新某些状态,表示可以删除该文件。删除文件的外部服务应该像
一样