import java.util.Map;
public class RpcServer extends NettyServer implements ApplicationContextAware, InitializingBean, DisposableBean {
@Override
public void setApplicationContext(ApplicationContext ctx) throws BeansException {
Map<String, Object> serviceBeanMap = ctx.getBeansWithAnnotation(NettyRpcService.class);
if (MapUtils.isNotEmpty(serviceBeanMap)) {
for (Object serviceBean : serviceBeanMap.values()) {
NettyRpcService nettyRpcService = serviceBean.getClass().getAnnotation(NettyRpcService.class);
String interfaceName = nettyRpcService.value().getName();
String version = nettyRpcService.version();
super.addService(interfaceName, version, serviceBean);
}
}
}
@Override
public void afterPropertiesSet() {
}
@Override
public void destroy() {
}
}