private ServantHomeSkeleton loadServant(Object bean) throws Exception { String homeName; Class<?> homeApiClazz = null; Object homeClassImpl; ServantHomeSkeleton skeleton; int maxLoadLimit = -1; ServerConfig serverCfg = ConfigurationManager.getInstance().getServerConfig(); homeName = bean.getClass().getAnnotation(TarsServant.class).name(); if (StringUtils.isEmpty(homeName)) { throw new RuntimeException("servant name is null."); } homeName = String.format("%s.%s.%s", serverCfg.getApplication(), serverCfg.getServerName(), homeName); for (Class clazz : bean.getClass().getInterfaces()) { if (clazz.isAnnotationPresent(Servant.class)) { homeApiClazz = clazz; break; } } homeClassImpl = bean; if (TarsHelper.isServant(homeApiClazz)) { String servantName = homeApiClazz != null ? homeApiClazz.getAnnotation(Servant.class).name() : null; if (!StringUtils.isEmpty(servantName) && servantName.matches("^[\\w]+\\.[\\w]+\\.[\\w]+$")) { homeName = servantName; } } skeleton = new ServantHomeSkeleton(homeName, homeClassImpl, homeApiClazz, null, null, maxLoadLimit); skeleton.setAppContext(this); ConfigurationManager.getInstance().getServerConfig().getServantAdapterConfMap().put(homeName, servantAdapterConfig); return skeleton; }
if (TarsHelper.isServant(homeApiClazz)) { String servantName = homeApiClazz.getAnnotation(Servant.class).name(); if (!StringUtils.isEmpty(servantName) && servantName.matches("^[\\w]+\\.[\\w]+\\.[\\w]+$")) {
homeClassImpl = this.applicationContext.getBean(servantConfig.getRef()); if (TarsHelper.isServant(homeApiClazz)) { String servantName = homeApiClazz.getAnnotation(Servant.class).name(); if (!StringUtils.isEmpty(servantName) && servantName.matches("^[\\w]+\\.[\\w]+\\.[\\w]+$")) {
processorClazz = (Class<? extends Processor>) (StringUtils.isEmpty(processorClazzName) ? null : Class.forName(processorClazzName)); if (TarsHelper.isServant(homeApiClazz)) { String servantName = homeApiClazz.getAnnotation(Servant.class).name(); if (!StringUtils.isEmpty(servantName) && servantName.matches("^[\\w]+\\.[\\w]+\\.[\\w]+$")) {
processorClazz = (Class<? extends Processor>) (StringUtils.isEmpty(processorClazzName) ? null : Class.forName(processorClazzName)); if (TarsHelper.isServant(homeApiClazz)) { String servantName = homeApiClazz.getAnnotation(Servant.class).name(); if (!StringUtils.isEmpty(servantName) && servantName.matches("^[\\w]+\\.[\\w]+\\.[\\w]+$")) {
public static TarsMethodInfo getMethodInfo(Class<?> api, Method method, String objectName) { if (!isServant(api) && !isCallback(api)) { return null;
public static TarsMethodInfo getMethodInfo(Class<?> api, Method method, String objectName) { if (!isServant(api) && !isCallback(api)) { return null;
public static TarsMethodInfo getMethodInfo(Class<?> api, Method method, String objectName) { if (!isServant(api) && !isCallback(api)) { return null;