我有一个使用 Spring 和 jpa 构建的网站(通过休眠)。我有一个错误,我不知道如何识别错误出现的行。
我无法在我的 ide 上调试它,因为它是一个实时版本(在本地运行良好)。
我有日志,上面写着:
○
rg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)#012#011
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:625)#012#011
at com.mycompany.server.rpc.UserService$$EnhancerByCGLIB$$64ed2d4f.createAccount(<generated>)#012#011
at com.mycompany.server.rpc.ServiceRPCImpl.createAccount(ServiceRPCImpl.java:309)
我的问题是第三行。由于 UserService 对象是由 Spring 处理的,所以它变成了一个代理,我不知道 bug 所在的行。
你知道如何解决这个问题吗?
谢谢
最佳答案
您可以从 cglib 更改为 jdk 代理吗? (Spring AOP proxy reference)
基本上:如果您将 bean 作为接口(interface)访问,则可以使用 jdk 代理(spring 默认机制),从而使底层对象保持不变并访问堆栈跟踪中的行号。
关于debugging - 如何知道 Spring 生成的 bean 中的 bug 所在行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2647114/