All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.alibaba.csp.ahas.switchcenter.SwitchAcmDatasourceService Maven / Gradle / Ivy

There is a newer version: 1.2.2
Show newest version
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