gpt4 book ai didi

scala - 如何在不重新启动的情况下重新加载 messages.en?

转载 作者:行者123 更新时间:2023-12-03 04:52:50 26 4
gpt4 key购买 nike

似乎 messages.en 文件仅在我重新编译/重新启动应用程序时重新加载。如何在 Prod 模式下重新加载它而不重新启动。

我使用的是 Play 2.3

最佳答案

简短回答:绕过依赖注入(inject)的单例,并创建我们自己的 MessagesApi:

implicit val messagesApi = new DefaultMessagesApi(Environment.simple(), current.configuration, new DefaultLangs(current.configuration))

长答案:

Play 的 MessagesApi 对象是一个单例,这意味着我们始终使用同一个实例:

@Singleton
class DefaultMessagesApi @Inject() (environment: Environment, configuration: Configuration, langs: Langs) extends MessagesApi { ...

及其保存所有消息的 messages 字段是不可变的。

val messages: Map[String, Map[String, String]] = loadAllMessages

我们无法修改它。

但是...我们可以创建自己的 MessagesApi 并使用它。例如:

implicit val messagesApi = new DefaultMessagesApi(Environment.simple(), current.configuration, new DefaultLangs(current.configuration))

关于scala - 如何在不重新启动的情况下重新加载 messages.en?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31299665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com