gpt4 book ai didi

grails - 如何使用Grails本地化插件在message.properties中重新加载消息更新?

转载 作者:行者123 更新时间:2023-12-02 16:02:10 25 4
gpt4 key购买 nike

在Grails本地化插件documentation中,它说:

If you distribute your finished application in the form of a war file, then unless the target application server unzips the war file on installation, the localizations plugin will be unable to automatically load (or subsequently 'import') the properties files from within the war file.



为了四处走动以使用war重新加载所有消息更新,我在 BootStrap.groovy中使用以下代码。
import org.grails.plugins.localization.Localization

class BootStrap {
def init = { servletContext ->
Localization.reload()
}
}

此代码确实对我有帮助,无论何时将应用程序部署到Tomcat服务器,都将应用消息更新。但是,随着部署越来越多的发行版,本地化表的ID号会自动增加。

因此,我尝试在代码中使用“截断表”来解决此问题。在 BootStrap.groovy中:
import org.grails.plugins.localization.Localization

class BootStrap {
def sessionFactory
def init = { servletContext ->
sessionFactory.getCurrentSession().createSQLQuery('truncate table localization').executeUpdate()
Localization.load()
}
}

使用此代码会导致 run-app失败,因为有时 truncate table会在加载过程的中间发生,而不是在加载之前!

最佳答案

您是否尝试将其作为线程执行并强制等待该过程结束?

关于grails - 如何使用Grails本地化插件在message.properties中重新加载消息更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29375913/

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