我们使用带有oauth2的微服务作为安全机制。目前,我们使用OAuth2RestTemplate调用其他微服务,如下所示:
template.postForObject("http://"+MY_DISCOVERY_NAME+"/path/to/restservice", params, Void.class);
我们正在使用@Autowoe注入OAuth2RestTemboard,如下所示:
@Configuration
public class ApplicationConfig {
@Autowired
OAuth2RestTemplate oauth2Resttemplate;
...
@Bean
public MyBean getMyBean() {
MyBeanImpl myBean = new MyBeanImpl();
oauth2Resttemplate.setErrorHandler(getErrorHandler());
myBean.setTemplate(oauth2Resttemplate);
return myBean;
}
...
}
因此,我们下一步要做的是让这些电话可以追踪。我们想使用spring cloud sleuth。
所以我添加了依赖项如下:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
此后,Spring无法再自动连接OAuth2RestTemplate:
Caused by: java.lang.IllegalArgumentException: Can not set org.springframework.security.oauth2.client.OAuth2RestTemplate
在org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcess抛出IllegalArgumentException:
@Override
protected void inject(Object bean, String beanName, PropertyValues pvs) throws Throwable {
...
}
if (value != null) {
ReflectionUtils.makeAccessible(field);
field.set(bean, value);
}
}
...
field.set(bean, value);
导致以下异常:
java.lang.IllegalArgumentException: Can not set org.springframework.security.oauth2.client.OAuth2RestTemplate field my.package.ApplicationConfig.oauth2Resttemplate to com.sun.proxy.$Proxy120
如何将OAuth2RestTemplate与sleuth结合使用?
谢谢
最大值
问题是我连接了OAuth2RestTemboard而不是接口OAuth2Rest操作。
Wireing OAuth2Rest操作对我有用。
我很难找到任何合适的例子来演示如何找到跟踪并将其存储在本地MySQL数据库中。我使用zipkin服务器来可视化我对微服务的分布式跟踪。如果有人在最新版本中与gradle一起使用Spring Cloud Sleuth,请提交一个可以帮助我的完美示例。 这里'我的代码: 建筑格拉德尔 应用性质 控制器。班 应用。班 我已经使用zipkin-server-2.23.2-exec jar在localhos
问题内容: 关于它们有很多传说。我想知道真相。以下两个示例之间有什么区别? 问题答案: 不确定从何处获得传说,但: 提交按钮 与: IE6将在标记之间提交此按钮的所有文本,其他浏览器将仅提交值。使用可使您在按钮的设计上享有更大的布局自由度。从各种意图和目的看,它乍一看似乎很棒,但是各种浏览器怪癖使它有时很难使用。 在您的示例中,IE6将发送到服务器,而其他大多数浏览器将不发送任何内容。要使其跨浏览
什么区别以及如何正确重写代码?
我试图理解为什么下面两个代码块会产生不同的结果。 代码块1按预期工作,并返回从数据库中查找的提供程序的数组。另一方面,代码块2返回函数数组。在理解promissione.all()和async/await时,我觉得缺少了一些简单的东西。 代码块的差异如下: > 块1:创建许诺函数数组,然后使用map运算符将其包装在异步函数中。 块2:许诺函数的数组被创建为异步函数。因此,不调用map运算符。 如果
问题内容: 我才刚刚开始研究SQL。 我有一个SQL Server 2008r2数据库,它将返回两个字段DocDate和InvValue。我需要将InvValues汇总为今天的MTD和YTD,所以看起来像 我已经做了大量的Google搜寻,并且可以使用SUM&DATEPART进行一项或多项,但是我坚持尝试两者兼而有之。 有人可以给我一些伪代码,以帮助我进一步谷歌。 谢谢@戈登·利诺夫(Gordon
这个示例代码来自一本Java书籍,从墙上的99瓶啤酒到没有啤酒打印出这首歌。问题是,当墙上是1瓶啤酒时,它仍然写着瓶子。我试图通过在末尾添加部分来解决这个问题。但是,它仍然显示1瓶啤酒在墙上,我瓶啤酒在墙上。 我不知道该改变什么来解决这个问题。是否创建另一个while部分? 如果你能给他们一个提示,这样我就可以自己解决它,那也很酷!因为我知道我的实际歌曲输出是在第一个if部分,但我不知道我应该在哪