Par*_*ama 2 java reflection heroku completable-future java-17
我已将我们公司应用程序的 Java 版本从 8 更新到 17。在本地计算机上,它在构建和运行时调用方面都运行良好。同样在 GitHub 上,它与 Junit 测试执行一起部署得很好。
问题是在我在 Heroku 上部署应用程序之后出现的。Heroku 构建成功,但在运行时,当我调用方法时,收到此错误:
"message": "Handler dispatch failed; nested exception is java.lang.reflect.GenericSignatureFormatError: Signature Parse error: expected a class type\n\tRemaining input: java/util/concurrent/CompletableFuture",
Run Code Online (Sandbox Code Playgroud)
它与java反射方法和方法的签名有关。我的控制器剩余方法返回一个 CompletableFuture 对象。CompletableFuture 有点不太好.........
此错误与正在调查的错误有关。
目前的解决方法是禁用 CompletableFuture 检测。这可以通过将以下内容添加到 newrelic.yml 的公共节下来完成:
class_transformer:
com.newrelic.instrumentation.java.completable-future-jdk8u40:
enabled: false
Run Code Online (Sandbox Code Playgroud)
2022-02-23 更新:New Relic 中的错误是由 Java 17 中的此错误引起的:https://bugs.java.com/bugdatabase/view_bug.do ?bug_id=JDK-8282241
2022 年 7 月 29 日更新:Java 19 早期版本已包含修复程序。应在 Java 17.0.5 中修复,将于 2022 年 10 月发布。
2022 年 10 月 19 日更新:Java 17.0.5 已发布,修复了导致此问题的错误。
| 归档时间: |
|
| 查看次数: |
2469 次 |
| 最近记录: |