我想知道是否有一种简单的方法可以在服务或方法级别向Scrooge thrift API添加过滤器(例如进行序列化请求日志记录)?我目前在Scrooge 18.6.0
上,但是可以根据需要进行升级。
我已经可以在服务中添加过滤器,但是代码很丑陋,我很难把解决方案卖给同事。我遇到的问题是:
MethodPerEndpoint
ServicePerEndpoint
转换为MethodPerEndpoint
的代码,反之亦然ServicePerEndpoint
界面非常丑陋,而且不清楚。ServicePerEndpoint
时,基本实现也具有filtered
方法,该方法只会丢弃并忽略提供的过滤器(非常神秘!)ServicePerEndpointImpl
,它具有filtered
的有效实现,但该类是ServicePerEndpoint
对象和final
的私有对象这一切都意味着,除了必须扩展ServicePerEndpoint
之外,我最终不得不添加样板文件,以分别将必需的过滤器添加到每个方法中,或者创建一个可过滤的{来自我的ServicePerEndpointImpl
的{1}},内容如下:
ServicePerEndpoint
整个事情似乎非常不必要。有没有更简单的方法?