我正在使用jsonrpc4j library,我创建了basic demo。
问题是当服务器抛出异常时,框架会转发客户端InvocationTargetException
而不是source exception
。
我已经为此创建了GitHub issue。希望有人可以指出一个快速的解决方案,我也发布它。我有什么想法吗?
答案 0 :(得分:1)
我想我已经解决了这个问题。问题是使用CompositeService
时。它包装抛出两次的异常,然后它只被解开一次。
修复程序在这里: https://github.com/bgaborg/jsonrpc4j/commit/a92c8a602d2c0b9957d0d3a59cd901785809a78e
在JsonRpcServer.java
(内部com.googlecode.jsonrpc4j
包)中,替换:
if (InvocationTargetException.class.isInstance(e))
与
while (InvocationTargetException.class.isInstance(e))