
com.alibaba.csp.ahas.switchcenter.SwitchAcmDatasourceService Maven / Gradle / Ivy
package com.alibaba.csp.ahas.switchcenter;
import com.taobao.csp.ahas.service.api.client.ClientInfoService;
import com.taobao.csp.switchcenter.acm.AcmDatasource;
import com.taobao.csp.switchcenter.log.SwitchRecordLog;
import com.taobao.csp.switchcenter.spi.SpiOrder;
import com.taobao.diamond.client.impl.DiamondEnvRepo;
import com.taobao.diamond.exception.DiamondException;
@SpiOrder(-1000)
public class SwitchAcmDatasourceService implements AcmDatasource {
private static ClientInfoService clientInfoService;
private static String userId;
private static String appName;
private static String namespace;
private static String tenantId;
private static DiamondEnvRepo repo;
public SwitchAcmDatasourceService() {
super();
}
public SwitchAcmDatasourceService(ClientInfoService clientInfo) {
clientInfoService = clientInfo;
}
public void init() throws DiamondException {
String currentEndPoint = clientInfoService.getAcmEndpoint();
// -Daddress.server.domain=xxx
System.setProperty("ahas.address.server.domain", currentEndPoint);
namespace = clientInfoService.getNamespace();
userId = clientInfoService.getUserId();
tenantId = clientInfoService.getTid();
appName = com.taobao.csp.ahas.service.util.AppNameUtil.getAppName();
repo = new DiamondEnvRepo();
SwitchRecordLog.info("[SwitchAcmDatasourceService] ACM endpoint: " + currentEndPoint);
}
@Override
public DiamondEnvRepo getRepo() {
return repo;
}
@Override
public String getAppName() {
return appName;
}
@Override
public String getUserId() {
return userId;
}
@Override
public String getNamespace() {
return namespace;
}
@Override
public String getTenantId() {
return tenantId;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy