我希望能够在启动我的Wildfly Swarm应用程序时指定外部配置文件。建议的方法是什么?
我看过像 @ConfigValue 和 @Configured 这样的注释,但是我还没有让它们起作用,大多数提到它们的地方都是有关开发分数的文档。我还能用吗?似乎很难找到任何关于它们的文档。
我可以在启动时访问Wildfly Swarm应用程序的参数吗?在这种情况下,我可以将配置文件的路径指定为参数,然后自己解析文件。
答案 0 :(得分:0)
由于 Ken 已经确认使用 @ConfigurationValue 是一个可行的解决方案,我现在找到了我的问题的答案。
一开始我尝试使用此注释,但它不起作用。我意识到我错误地使用 CDI 而不是 Wildfly Swarm 。我之前的代码如下所示:
Server started....
files post
问题在于,当变量 logger 得到一个值时, test 变量保持 null 。好像我不能有这样的两个 @Inject 。解决方案是将 test 变量添加到构造函数中。然后正确地为 logger 和 test 分配了一个值,如下所示。
@Default
@ApplicationScoped
public class ConfigurationHandlerImpl implements ConfigurationHandler {
@Inject @ConfigurationValue("wishlist.test")
private String test;
@Inject
public ConfigurationHandlerImpl(Logger logger) { ... }
}