查找有关如何使用ByteBuddy拦截并在JDBC连接属性上附加值的示例(或建议)。目标是能够使用JavaAgent为事务关联附加唯一值,而不会更改客户端代码。例如:
Properties props = new Properties();
props.put("user", user);
props.put("password", password);
props.put("ClientCorrelationToken", "MyToken1");
希望ClientCorrelaionToken成为" MyToken1appendedValue"
看了很多例子,但找不到合适的方法。
最终需要能够从Web标头中提取一个唯一的令牌并将其放入JDBC属性中,但希望首先使拦截工作。
答案 0 :(得分:-1)
您可能需要拦截JDBC构造函数并在调用时更改或交换属性参数。
例如,您可以使用AgentBuilder
拦截作为JDBC驱动程序子类型的所有类型,并使用Advice
调整其构造函数。如果您知道标准API,则还可以实现更精细的拦截。