[apache/dubbo]dubbo:annotation注解扫描到被代理的对象时,无法发布服务

2024-04-11 748 views
8

private boolean isMatchPackage(Object bean) { if (annotationPackages == null || annotationPackages.length == 0) { return true; } String beanClassName = bean.getClass().getName(); for (String pkg : annotationPackages) { if (beanClassName.startsWith(pkg)) { return true; } } return false; } 这里的代码获取到的是代理对象,取到的beanClassName是代理类,不能获取到真实类型。 可以参考新浪的motan AnnotationBean.class

回答

1

请使用2.5.7版本,重写后此问题已修复

5

还是不可以呢 我看了源码 里面有没有处理啊 还是没变 调试也还是取到的代理类 @chickenlj

5

@yiyiwangru 测试代码?

8

这是位于包com.mei.service.facade下面的服务类

@Service(validation = "true")
public class UserInfoServiceFacade implements UserInfoService {
    @Autowired
    private IUserInfoService userInfoService;
    ...
}

这是扫描注解: <dubbo:annotation package="com.mei.service.facade"/>

这是在服务类上配置的一个切面: <bean class="com.mei.common.aspect.DubboServiceAspect" />

这样的情况下没办法发布服务 @mercyblitz @chickenlj

2

@chickenlj 具体要怎么使用呢?你给的链接里面的配置说明的链接打不开呢