我的谷歌搜索建议对此的答案是简单的“否”,但无论如何我都必须问。
我正在尝试向服务的重试策略中添加一些日志记录/度量标准,以便我们可以了解实际的真实世界重试和超时配置文件。我写了一个包装器/装饰器以放置在基础策略对象的顶部,但是问题当然是我们当前只是注入一个通用的RetryStrategy
对象,并且我希望我的特定行为了解某些上下文;最少的是请求者的名字,这样我就可以发出一个度量标准,说某某客户在第k次重试后第n个毫秒后超时。
在Guice中是否可能是开箱即用或经过相对较轻的修改?
也就是说,我希望在模块文件中遵循以下内容:
@Provides
RetryStrategy getNewDefaultRetryStrategy() {
RetryStrategy baseStrategy = getOldRetryStrategy();
String clientName = NAME_OF_THING_WE_ARE_INJECTING_INTO; // this is the magic I want
return new WrappedStrategy(baseStrategy, clientName);
}