Skip to content

feat: add SkyWalking integration plugin and guide#134

Draft
ljluestc wants to merge 1 commit intossssssss-team:masterfrom
ljluestc:fix/issue-122-skywalking-integration-guide
Draft

feat: add SkyWalking integration plugin and guide#134
ljluestc wants to merge 1 commit intossssssss-team:masterfrom
ljluestc:fix/issue-122-skywalking-integration-guide

Conversation

@ljluestc
Copy link
Copy Markdown

@ljluestc ljluestc commented Apr 5, 2026

概述
本 PR 修复 #90 中报告的问题:当使用 Redis 作为资源存储类型时,应用无法启动。

Closes #90

问题分析
当配置 magic-api.resource.type=redis 时,应用启动报错:

Parameter 0 of method magicResourceService in org.ssssssss.magicapi.spring.boot.starter.MagicAPIAutoConfiguration required a bean of type 'org.ssssssss.magicapi.core.resource.Resource' that could not be found.

根本原因:

  1. magicResourceService 方法直接依赖 Resource bean
  2. 当 Redis 资源实现未正确加载时(缺少依赖或配置错误),Spring 找不到 Resource 类型的 bean
  3. 原代码没有提供清晰的错误提示,用户难以定位问题

主要改动

  1. magic-api-spring-boot-starter/pom.xml
  • 新增 magic-api-plugin-redis 依赖,确保 Redis 资源实现可用
  1. MagicAPIAutoConfiguration.java
  • magicResourceService 方法的参数从直接依赖 Resource 改为 ObjectProvider<Resource>
  • 增加空值检查和明确的错误提示:
    • 当配置 Redis 类型但未找到实现时,提示用户检查依赖和配置
    • 其他类型同样提供有意义的错误信息

兼容性与影响

  • 对现有默认行为无破坏:正常配置下逻辑不变
  • 提升用户体验:配置错误时给出清晰的错误提示
  • 引入 redis 插件依赖:确保 Redis 资源实现可用

使用方式
配置 magic-api.resource.type=redis 后,应用可正常启动,Redis 作为资源存储类型。

- add magic-api-plugin-skywalking module and auto configuration

- add request interceptor and tests for SkyWalking tracing

- add integration guide and README entry for issue ssssssss-team#122

Closes ssssssss-team#122
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

当使用redis作为资源存储类型时,无法启动应用

1 participant