forked from kimhyungsik/ax_hub_mcp_tool
fix(core): resolve Spring AOP proxy masking @McpFunction annotations
This commit is contained in:
@@ -76,7 +76,8 @@ public class BusinessToolController {
|
||||
Map<String, Object> toolBeans = applicationContext.getBeansWithAnnotation(McpTool.class);
|
||||
outerLoop:
|
||||
for (Object bean : toolBeans.values()) {
|
||||
for (Method method : bean.getClass().getDeclaredMethods()) {
|
||||
Class<?> userClass = org.springframework.util.ClassUtils.getUserClass(bean);
|
||||
for (Method method : userClass.getDeclaredMethods()) {
|
||||
McpFunction mcpFunc = method.getAnnotation(McpFunction.class);
|
||||
if (mcpFunc != null) {
|
||||
String baseName = mcpFunc.name();
|
||||
|
||||
@@ -67,9 +67,10 @@ public class ToolRegistryHeartbeatSender {
|
||||
private void scanAndBuildMetadata() {
|
||||
Map<String, Object> toolBeans = applicationContext.getBeansWithAnnotation(McpTool.class);
|
||||
for (Object bean : toolBeans.values()) {
|
||||
McpTool toolAnnotation = bean.getClass().getAnnotation(McpTool.class);
|
||||
Class<?> userClass = org.springframework.util.ClassUtils.getUserClass(bean);
|
||||
McpTool toolAnnotation = userClass.getAnnotation(McpTool.class);
|
||||
|
||||
for (Method method : bean.getClass().getDeclaredMethods()) {
|
||||
for (Method method : userClass.getDeclaredMethods()) {
|
||||
McpFunction functionAnnotation = method.getAnnotation(McpFunction.class);
|
||||
if (functionAnnotation != null) {
|
||||
String baseName = functionAnnotation.name();
|
||||
|
||||
Reference in New Issue
Block a user