ByteBuddy Java代理需要应用依赖性其增加剂罐尺寸

问题描述 投票:0回答:1

我使用的字节哥们写一个Java代理,它的伟大工程,我用很多的@ Advice.On方法输入注释将代码添加到现有类。

我有以下的忧虑:

  • 我加入了很多的应用程序/第三方依赖的药剂,其增加剂罐的大小
  • 我担心我是否会遇到classversion问题等,如果应用程序依赖的变化版本。

你可以请建议,如果有一种方法来避免添加应用程序依赖于字节好友Java代理?看起来像在Javassist进行,我可以通过使用例如将代码添加到的方法。

例如。

final String reportCode = MetricsCollector.class.getName() +
    ".report(" +
    "\"" + behavior.getLongName() + "\", " +
    "System.nanoTime() - $_traceTimeStart" +
    ");";
byte-buddy
1个回答
1
投票

对于这种情况,你不应该包括在你的代理库中的代码;而你应该编译对抗中,提供范围的依赖库,然后使用AgentBuilder.Transformer.ForAdvice类,让字节好友申请根据您的代码,并且是在用户在运行时的类加载器发现库代码的建议。

© www.soinside.com 2019 - 2024. All rights reserved.