codingapi / codingapi/tx-lcn

SpringCloud + Feign 事务不回滚 解决方案

Đang mở
#481 6 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Java
Star
4.2k
Fork
1.4k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

看issue发现很多人也有这个问题,我最近也碰到了,然后跟踪了一下源码,总算解决了。

下面给出我的解决步骤:

1. 打开LCN Logger
`logging.level.com.codingapi.txlcn = debug`

2. 检查日志中是否包含以下log。如包含,转6
`com.codingapi.txlcn.tracing.Tracings : tracing apply group:693a5ae3226537.....`

3. 检查日志中的各服务log中groupId是否一致 。如一致,转6
`c.c.t.t.c.context.DefaultGlobalContext : Start TxContext[693a5ae3226537]`

4. 检查是否用了 @EnableWebMvc 注解。如用了,转6
5. 添加MVC拦截器
```
public class WebMvcConfiguration extends WebMvcConfigurationSupport {
.........其它配置省略...........
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new SpringTracingApplier());
}
}
6. 结束
```

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện vấn đề transaction rollback của Spring Cloud và Feign được mô tả trong issue, sau đó bật LCN debug logging và so sánh các tracing group IDs giữa các service log. Kiểm tra xem @EnableWebMvc có tồn tại hay không và interceptor SpringTracingApplier có được đăng ký hay không; hoàn thành nghĩa là xác định và ghi lại điều kiện ngăn rollback hoặc xác nhận workaround được cung cấp.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java, spring
Lĩnh vực
backend, distributed-systems
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.