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