【问题标题】:Lambda expression support in Appdynamics 4.2 and 4.3Appdynamics 4.2 和 4.3 中的 Lambda 表达式支持
【发布时间】:2018-02-27 09:06:52
【问题描述】:

我看到 Appdynamics 4.2 声称 support Java 8 lambda 检测,但这种支持是 4.3 中的 removed。 我在 4.3 release notes 中找不到任何提到删除对 lambdas 的支持的内容。

发生了什么事?和JDK-8145964有什么关系吗?

【问题讨论】:

  • 也许吧。 other Java 8 features are still mentioned。从技术上讲,仍然可以检测这些生成的类,方法是检测LambdaMetaFactory,在它们生成时拦截它们。但这将是一个值得商榷的特性,因为这些类不具备实际的语义;正确的方法是检测实际的目标方法。

标签: jvm appdynamics


【解决方案1】:

4.3.x Documentation⇒POJO Entry Points⇒Monitor Java Interface Static and Default Methods:

请注意,AppDynamics Java 代理不支持 Java 8 中引入的另一个 Java 语言功能,即 lambda 方法接口。

这可能是由于您怀疑JDK-8145964 存在技术问题。但我还要指出,这种仪器是有问题的。实现任何特定行为的不是这个 JRE 生成的类,而是调用的目标方法。

【讨论】:

    【解决方案2】:

    我相信,自 4.1 版本以来,该产品已支持 Lambda 表达式,该产品于 2015 年发布。话虽如此,我们一直在加强支持。在使用它们初始化类之后,这些确实有一些限制(动态检测限制)。该产品应该支持它们,我们在下一个主要版本中为 Lambda 表达式添加了一些额外的功能和特性。您是否尝试过联系 help@appdynamics.com

    【讨论】:

    • 我还没有尝试联系支持。我只是感到困惑,因为我在 4.3 发行说明中找不到有关删除对 Lambdas 的支持的任何信息,但文档说它们不再受支持。
    【解决方案3】:

    看起来发行说明中没有提到它,而是提出了Support Advisory 56039。他们确实提到了 JDK-8145964 作为取消支持的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-03
      • 1970-01-01
      • 2011-06-23
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 2017-06-08
      • 1970-01-01
      相关资源
      最近更新 更多