private void validateServiceBean(String beanName, ServiceBean<?> serviceBean) throws BeansException {
Integer retries = serviceBean.getRetries();
String loadbalance = serviceBean.getLoadbalance();
String cluster = serviceBean.getCluster();
String filter = serviceBean.getFilter();
String group = serviceBean.getGroup();
if (StringUtils.isBlank(group)) {
return;
} else if (StringUtils.equalsIgnoreCase("x-bytejta", group) == false
&& StringUtils.lowerCase(group).startsWith("x-bytejta-") == false) {
return;
}
String[] filterArray = filter == null ? new String[0] : filter.split("\\s*,\\s*");
if (retries != null && retries.intValue() >= 0) {
throw new FatalBeanException(String.format("The value of attr 'retries'(beanId= %s) should be '-1'.", beanName));
} else if (loadbalance == null || StringUtils.equals("bytejta", loadbalance) == false) {
throw new FatalBeanException(
String.format("The value of attr 'loadbalance'(beanId= %s) should be 'bytejta'.", beanName));
} else if (cluster == null || StringUtils.equals("failfast", cluster) == false) {
throw new FatalBeanException(
String.format("The value of attribute 'cluster' (beanId= %s) must be 'failfast'.", beanName));
} else if (filterArray.length == 0) {
throw new FatalBeanException(String.format("The value of attr 'filter'(beanId= %s) must be null.", beanName));
} else if (StringUtils.equalsIgnoreCase(filterArray[0], "bytejta") == false) {
throw new FatalBeanException(
String.format("The first value of attr 'filter'(beanId= %s) should be 'bytejta'.", beanName));
}
}