我想将 Jasypt 添加到配置中。所以我想创建一个插件来解密所需的 application.conf 条目。
我创建了一个简单的插件,但是在调用我的 onStart() 时已经读取/执行了 db 配置。
我已经尝试过 GlobalSettings onLoadConfig 和 beforeStart,它们都是在配置数据库之后出现的。
我在哪里可以实现我的目标?
我想将 Jasypt 添加到配置中。所以我想创建一个插件来解密所需的 application.conf 条目。
我创建了一个简单的插件,但是在调用我的 onStart() 时已经读取/执行了 db 配置。
我已经尝试过 GlobalSettings onLoadConfig 和 beforeStart,它们都是在配置数据库之后出现的。
我在哪里可以实现我的目标?
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()));
}}
如果您使用的是 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))
}