将值附加到JDBC连接属性

时间:2018-03-27 18:02:33

标签: java jdbc properties interceptor byte-buddy

查找有关如何使用ByteBuddy拦截并在JDBC连接属性上附加值的示例(或建议)。目标是能够使用JavaAgent为事务关联附加唯一值,而不会更改客户端代码。例如:

    Properties props = new Properties();
    props.put("user", user);
    props.put("password", password);
    props.put("ClientCorrelationToken", "MyToken1");

希望ClientCorrelaionToken成为" MyToken1appendedValue"

看了很多例子,但找不到合适的方法。

最终需要能够从Web标头中提取一个唯一的令牌并将其放入JDBC属性中,但希望首先使拦截工作。

1 个答案:

答案 0 :(得分:-1)

您可能需要拦截JDBC构造函数并在调用时更改或交换属性参数。

例如,您可以使用AgentBuilder拦截作为JDBC驱动程序子类型的所有类型,并使用Advice调整其构造函数。如果您知道标准API,则还可以实现更精细的拦截。