我使用的字节哥们写一个Java代理,它的伟大工程,我用很多的@ Advice.On方法输入注释将代码添加到现有类。
我有以下的忧虑:
你可以请建议,如果有一种方法来避免添加应用程序依赖于字节好友Java代理?看起来像在Javassist进行,我可以通过使用例如将代码添加到的方法。
例如。
final String reportCode = MetricsCollector.class.getName() +
".report(" +
"\"" + behavior.getLongName() + "\", " +
"System.nanoTime() - $_traceTimeStart" +
");";
对于这种情况,你不应该包括在你的代理库中的代码;而你应该编译对抗中,提供范围的依赖库,然后使用AgentBuilder.Transformer.ForAdvice
类,让字节好友申请根据您的代码,并且是在用户在运行时的类加载器发现库代码的建议。