我想将Jasypt添加到配置中。所以我想创建一个解密所需的application.conf条目的插件。
我创建了一个简单的插件,但是在调用onStart()时已经读取/执行了db配置。
我已经尝试过GlobalSettings onLoadConfig和beforeStart,两者都是在db配置之后。
我可以在哪里实现目标?
答案 0 :(得分:2)
public class Global extends GlobalSettings {
// inject Jasypt StandardPBEStringEncryptor
@Override
public Configuration onLoadConfig(Configuration configuration, File file, ClassLoader classLoader) {
final Config config = ConfigFactory.parseString(String.format("db.default.user=%s", callJasyptStringEncryptor()));
return new Configuration(config.withFallback(configuration.getWrappedConfiguration().underlying()));
}}
答案 1 :(得分:2)
如果您使用scala,
override def onLoadConfig(config: Configuration, path: File, classloader: ClassLoader, mode: Mode.Mode): Configuration = {
val parsed = ConfigFactory.parseString("db.default.user=\"JasyptText\"")
new Configuration(parsed.withFallback(config.underlying))
}