Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 跟踪长期交易_Java_Spring Boot - Fatal编程技术网

Java 跟踪长期交易

Java 跟踪长期交易,java,spring-boot,Java,Spring Boot,我想跟踪长期甚至无休止的交易 我想我可以拦截一个存储库调用,记录某种ID和SQL,并在完成后重新记录ID 我实现了EmptyInterceptor,并添加了 交易完成前(交易发送)和 交易完成后(交易发送) 如果我使用intelliJ,在调试时我可以看到事务的会话ID(这样我就知道它何时开始和结束) 但是,该属性是私有的final,没有GET(因为它是final,所以很难使用反射) 我能做什么?是否有其他方法获取事务ID?您可以使用反射访问任何属性: 下面是一个如何访问最终私有变量的示例: I

我想跟踪长期甚至无休止的交易

我想我可以拦截一个存储库调用,记录某种ID和SQL,并在完成后重新记录ID

我实现了
EmptyInterceptor
,并添加了
交易完成前(交易发送)
交易完成后(交易发送)

如果我使用intelliJ,在调试时我可以看到事务的会话ID(这样我就知道它何时开始和结束)

但是,该属性是私有的final,没有GET(因为它是final,所以很难使用反射)


我能做什么?是否有其他方法获取事务ID?

您可以使用反射访问任何属性:

下面是一个如何访问最终私有变量的示例:


I get java.lang.IllegalAccessException:Class com.poalim.**.common.config.MyInterceptor无法使用修饰符“private final”访问类org.hibernate.engine.transaction.internal.TransactionImpl的成员