byte-buddy相关内容

使用Byte Buddy的SLF4j记录器

我尝试检测名为ThreadPoolExecutor的Java类,并希望使用slf4j记录器获取线程的详细信息,但收到以下错误 Exception in thread "pool-2-thread-2" Exception in thread "pool-2-thread-1" java.lang.NoClassDefFoundError: com/github/shehanperera/th ..
发布时间:2022-05-14 12:16:07 Java开发

Byte Buddy 可以在运行时创建字段和方法注释吗?

我想实现这个 3rd-party 注释来将我的类的字段/属性映射到我的数据库表列.我可以在编译时轻松实现注释(如下面的示例代码所示),但我找不到在运行时执行此操作的方法.(我在运行时使用反射加载库.) 我的问题是如何在运行时加载库时实现相同的映射注释?Byte Buddy 可以为 Android 处理这个问题吗? //第3方注释代码包 weborb.service;导入 java.lang ..
发布时间:2021-11-10 22:59:22 Java开发

SpringBoot 2.1.0 尝试集成数据库访问时抛出 ClassNotFoundException

我有一个简单的 SpringBoot 2.1.0 应用程序,并尝试使用 JPA 添加数据库连接.一切都使用 pom.xml 中的“spring-boot-starter-data-jpa"依赖项进行设置,但是当我启动应用程序时,我得到了这个 ClassNotFoundException. 我已经尝试手动添加 byte-buddy 作为依赖项,但这没有任何改变. 有人已经解决了这个问题吗 ..
发布时间:2021-08-20 18:45:29 Java开发

如何避免与字节伙伴的递归调用 - java.lang.StackOverflowError

我有一个建议,它在建议中调用了类似的方法.我们如何确保该建议被调用一次且仅一次.现在,由于我在通知中调用的方法与被检测的方法相同,它进入递归调用并导致 java.lang.StackOverflowError. 变换(新的 AgentBuilder.Transformer.ForAdvice().include(JettyHandlerAdvice.class.getClassLoader() ..
发布时间:2021-07-21 18:49:22 其他开发

使用 Byte-Buddy 的 Java 代理不起作用

我需要你的帮助来找出我的实现有什么问题... 我正在尝试使用字节伙伴实现一个简单的 JVM 运行时分析器.一般来说,我需要的是每个方法调用都将记录在我在单独对象中管理的堆栈中. 在阅读了几篇文章后,我明白最好使用“Advise"方法而不是“MethodDelegation",这是我得出的结论: Agent.java: package com.panaya.java.agent; ..
发布时间:2021-06-21 20:15:02 Java开发

字节预算:生成具有循环类型的类

我正在尝试生成具有循环类依赖性的类,类似于此问题: Exception:无法解析标记行中的潜在类型描述的声明类型:B类. 上述参考问题的答案是“确保在正确定义潜在类型之前不要加载类型",我猜测这可能是我的问题.我不知道如何定义潜在类型:-( 编辑:使类 A 和 B 在最终版本之上(因为这是理想的解决方案) 编辑:添加堆栈跟踪 线程“主"中的异常java.lang.Illegal ..
发布时间:2021-05-18 20:49:17 Java开发

如何使用ByteBuddy创建动态代理

在Java中,可以使用 InvocationHandler 的实现来创建动态代理.尽管JVM进行了优化,但使用反射总是会产生调用方法的一些开销. 为尝试解决此问题,我尝试使用ByteBuddy在运行时创建代理类,但是文档在这方面似乎不够清楚. 如何创建 MethodCallProxy 以便将方法调用转发到某些类实例? 编辑: 为了更好地阐明我的问题,我提供了一个我要实现的示 ..
发布时间:2021-05-18 20:35:24 Java开发

字节好友成员替换引发IllegalStateException错误

我正在尝试使用字节伙伴来编写Java工具代理.我的目标是用我自己的代理调用替换java标准库方法调用.建议我使用Byte Buddy的 MemberSubstitution 来实现此目的.我使用了 this 和 我要检测的应用程序位于另一个具有以下内容的Intellij IDEA项目中: Main.java 公共类Main {公共静态void main(String [] args) ..
发布时间:2021-05-16 19:10:43 Java开发

使用byte-buddy-agent修改java.util类

是否可以使用字节伙伴在java.util类中添加字段? 我试图在java.util.concurrent.FutureTask中添加一个字段,并拦截构造函数和一个任意方法来设置和获取字段值.简而言之,我正在尝试向FutureTask添加一个字段,以便即使它们在线程池中运行,也可以将某些值从父级传递给子线程.无法在FutureTask中添加字段? FutureTaskTransofrme ..
发布时间:2021-04-17 18:31:12 Java开发

Bytebuddy-拦截java.net.ServerSocket构造函数

Iam试图拦截 java.net.ServerSocket 的两个方法和一个构造函数.拦截两个方法 getLocalPort 和 getInetAddress 可以正常工作.但是,不会触发应处理构造方法 ServerSocket(int)的类.我要检测的代码(在包含在mainproject中的另一个jar文件中): 包装检测; 公共类Instrumenting {私有静态最终字符串CLAS ..
发布时间:2021-04-17 18:31:09 Java开发

Hibernate中使用ByteBuddy代理的MethodHandler陷入无限循环

我目前正在为Hibernate迁移一个旧工具,以基于实体统计信息自动进行预取.旧工具使用了Hibernate 3.1,因此需要完成一些工作.传统上,Hibernate使用CGlib代理,但是当我在开发最新版本的Hibernate时,我正在将代理生成更改为ByteBuddy. 但是,自从更改为ByteBuddy以来,我在使MethodHandler正常工作时遇到了一些问题.我工具中的metho ..
发布时间:2020-11-23 03:45:43 Java开发

Java-使用特定名称创建匿名Exception子类

我们正在使用Fabric / Crashlytics将非崩溃问题发送到他们的服务器,然后再检查日志和堆栈跟踪。 不幸的是,Crashlytics API要求对不同的问题类型使用不同的Exception子类实例。 (在iOS SDK中,您可以仅将字符串用于不同的问题类型,而在Android版本中则不能。) public static void craslyticsRecordError ..
发布时间:2020-10-11 02:40:45 Java开发

如何在ByteBuddy中的类中添加字段并在方法拦截器中设置/获取该值

我正在使用字节伙伴在Ignite之上构建ORM,我们需要将一个字段添加到类中,然后在方法拦截器中对其进行访问。。 所以这是一个示例,其中我向一个类中添加了一个字段 final ByteBuddy buddy = new ByteBuddy(); 最终舱< ;?扩展TestDataEnh> clz = buddy.subclass(TestDataEnh.class) .d ..
发布时间:2020-09-25 07:28:48 Java开发

是否有一个运行时代理创建库可支持保留代理类的注释?

使用例如 cglib 或 javassist代理,此代理通过创建代理目标的子类。但是,这意味着该代理上的注释将丢失。当一个类由两个库处理时,这是有问题的: 第一个库需要创建给定类的代理才能起作用 第二个库通过从对象中读取注释来处理对象。 对于第二个库,同时使用第一个库时,注释消失了。问题是:是否存在一个带有高级API的运行时代码生成库,该库可以轻松保留代理类的注释? 解决方案 ..
发布时间:2020-09-25 07:24:57 Java开发