Grails应用突然出现问题



我有一个Grails 4.0.3 rest api,从去年开始在生产环境中运行,没有出现大的问题。

不幸的是,自上周以来,由于队列中的一些RabbitMQ请求,它陷入了困境。我的应用程序试图读取队列,此消息显示在应用程序日志中。

CMBID不能开始处理队列plt.cmbid.requests因为没有签名的方法:java.util.Date.format()适用于参数类型:(String)价值观:[yyyy-MM-dd]可能的解决方案:从(java.time.Instant) getAt(以),解析(以),打印(java.io.PrintWriter),打印(java . lang . object)

我开始调查这个问题,我看到一些开发人员说这可能是Groovy的版本,但我不记得在哪里可以找到它。

你能帮我吗?

谢谢!

似乎你有一些代码做一些像

new Date().format('yyyy-MM-dd')

有没有可能代码一直是这样的,这是队列上的一个项目第一次设置了某个字段或调用了这个代码区域?

我相信以前版本的groovy附带了各种日期扩展,现在您需要包含日期util依赖项- https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-dateutil。

Grails 4.0.3版本附带了groovy 2.5.6版本,所以在构建中添加以下内容。Gradle应该提供帮助
compile 'org.codehaus.groovy:groovy-dateutil:2.5.6'

我开始调查这个问题,我看到一些开发者这么说它可能是Groovy版本,但我不记得我在哪里可以去看看

你能帮我吗?

有很多方法可以确定使用的是哪个版本的Groovy,包括查看Gradle的依赖报告。

默认情况下,Grails 4.0.3应用程序将使用Groovy 2.5.6,但是你可以在你的项目中使用依赖项来改变它。

顺便说一句……您没有问是什么原因导致format方法丢失,但很可能您的项目没有依赖于org.codehaus.groovy:groovy-dateutil

相关内容

最新更新