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
Q
[apache/dubbo]dubbo:annotation注解扫描到被代理的对象时,无法发布服务
3
A
回答
0
请使用2.5.7版本,重写后此问题已修复
6
还是不可以呢 我看了源码 里面有没有处理啊 还是没变 调试也还是取到的代理类 @chickenlj
5
@yiyiwangru 测试代码?
6
这是位于包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
0
@yiyiwangru 你给出的代码还是老版本的使用方式,请参照2.5.7新版本的使用方式
6
@chickenlj 具体要怎么使用呢?你给的链接里面的配置说明的链接打不开呢
8