package me.test.db.router; import java.lang.reflect.Method; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 将第一个方法的参数作为DataSource的路由Key。 */ public class FirstParamDataSourceKeyResolver implements DataSourceKeyResolver { private Logger logger = LoggerFactory.getLogger(FirstParamDataSourceKeyResolver.class); @Override public String resolveKey(Object thisObj, Method targetMethod, Object[] args) { if (args == null || args.length == 0) { return null; } if (args[0] == null) { return null; } String strValue = args[0].toString(); logger.debug("using '{}' as datasource key", strValue); return strValue; } }