我在应用程序中配置了Spring cloud sleuth(以及zipkin)。我有一个控制器,它调用服务,然后调用存储库,最后调用数据库。
设置工作正常,Sleuth正在生成spans id,它在zipkin中也可见。我想尝试跨多个内部bean和方法创建spans。我遇到了使用注释管理跨度。这似乎不起作用。
当我使用这里提到的任何注释时,如NewSpan或ContinueSpan,自动连接停止工作。我在控制器中自动连接的服务类为空。如果我删除这些注释,一切都会再次工作。
我正在使用。
Spring护套2.2.5。释放
Spring的云。霍克斯顿版本。SR3在我的pom中有这些依赖项
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId> // This is pulling 2.2.2.RELEASE version
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
下面是一个示例代码
@RestController
class SomeController {
@Autowired
SomeService someService;
@GetMapping("/init")
@NewSpan("init")
private void init() {
someService.init();
}
}
我的服务课是这样的
@Service
Class SomeService {
.....
@ContinueSpan(log = "init")
public void init() {
}
}
我的猜测是,SpringAop与此有关。知道吗?
请不要使用字段注入,请使用构造函数注入。还有一个新的跨度没有意义,因为你已经有了一个由框架创建的新跨度。
问题内容: 什么样的配置是需要使用注解来自像,等等?这是我的代码: 当我尝试在另一个类中使用它时,验证不起作用(即,创建该对象时没有错误): 为什么这不适用和的约束?我还需要做什么? 问题答案: 为了使JSR-303 bean验证在Spring中起作用,您需要做一些事情: 注释的MVC名称空间配置: JSR-303规范JAR :(看起来您已经拥有了) 规范的实现,例如休眠验证,它似乎是最常用的示例
我有一个简单的类叫BeaconDao 然而,当我用@service或@component标记beaconDao时,一切都运行得非常好。有人能看出问题所在吗?
问题内容: 当我尝试自动装配Spring RestTemplate时,出现以下错误: 在注释驱动的环境中使用Spring 4。 我的调度程序servlet的配置如下: 我尝试自动连接RestTemplate的类如下: 问题答案: 如果未定义错误,则会看到错误 考虑在配置中定义类型为“ org.springframework.web.client.RestTemplate”的bean。 要么 找不到
问题内容: 我正在尝试使用Java批注,但似乎无法使我的代码认识到其中存在。我究竟做错了什么? 问题答案: 您需要使用注释界面上的@Retention注释将注释指定为运行时注释。 即
当我尝试使用生成的post URL和以下json负载来使用save时: 请求处理失败;嵌套异常是javax.persistence.persistenceException:org.hibernate.id.IdentifierGenerationException:在调用save():eHealth.domain.timestamp之前必须手动分配该类的ID 我认为这是由于缺少@Generate
和和注释之间有什么区别? 我们应该在什么时候使用它们每一个?