我有一个Grails 4.0.3 rest api,从去年开始就在生产中运行,没有出现重大问题。
不幸的是,自从上周以来,它遇到了麻烦,因为队列中有一些RabbitMQ请求。我的应用程序试图读取队列,这个消息显示在应用程序日志中。
CMBID无法开始处理队列plt.cmbid.请求,因为方法没有签名:格式()适用于参数类型:(字符串)值:[yyyy-MM-dd]可能的解决方案:从(java.time.Instant),获取(java.lang.String),解析(java. lang. String),打印(java.io.PrintWriter),打印(java.lang.Object)
我开始调查这个问题,我看到一些开发人员说,这是可能的Groovy版本,但我不记得在哪里可以检查出来。
你能帮我吗?
谢谢你!
2条答案
按热度按时间gpnt7bae1#
看起来您有一些代码在执行类似于
有没有可能代码一直都是这样的,而这是队列中的某个项目第一次设置或调用该代码区域的某个字段?
我相信以前的groovy版本附带了各种日期扩展,现在您需要包括日期实用程序依赖项-https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-dateutil。
Grails 4.0.3版附带groovy 2.5.6版,因此在构建中添加以下内容会有所帮助。
a9wyjsp72#
我开始调查这个问题,我看到一些开发人员说,这是可能的Groovy版本,但我不记得在哪里可以检查出来。
你能帮我吗?
有多种方法可以确定正在使用的Groovy版本,包括查看Gradle的依赖关系报告。
默认情况下,Grails 4.0.3应用程序将使用Groovy 2.5.6,但您的项目中可能存在依赖项,这会改变这种情况。
顺便说一句,你没有问是什么导致
format
方法丢失,但是你的项目很可能没有对org.codehaus.groovy:groovy-dateutil
的依赖。