package com.yiqiniu.easytrans.queue.impl.ons;
import java.util.Properties;
import javax.annotation.Resource;
import org.springframework.context.annotation.Lazy;
import com.aliyun.openservices.ons.api.PropertyKeyConst;
import com.yiqiniu.easytrans.config.EasyTransConifg;
@Lazy
public class AliYunOnsHelper {
@Resource
private EasyTransConifg config;
public String findCfgProducerAccessKey(){
return config.getExtendConfig("queue.ons.access.key");
}
public String findCfgProducerSecrect(){
return config.getExtendConfig("queue.ons.access.secrect");
}
// 公有云生产环境:http://onsaddr-internal.aliyun.com:8080/rocketmq/nsaddr4client-internal
// 公有云公测环境:http://onsaddr-internet.aliyun.com/rocketmq/nsaddr4client-internet
// 杭州金融云环境:http://jbponsaddr-internal.aliyun.com:8080/rocketmq/nsaddr4client-internal
// 杭州深圳云环境:http://mq4finance-sz.addr.aliyun.com:8080/rocketmq/nsaddr4client-internal
public String findCfgOnsSrvAddr(){
return config.getExtendConfig("queue.ons.srv.addr");
}
public String findCfgProducerId(){
return config.getAppId();
}
public String findCfgConsumerId(){
String env = config.getExtendConfig("queue.ons.msg.consumer.prefix");
env = env == null?"":env;
return "CID-" + config.getAppId() + env ;
}
public Properties getProducerStarupProperties() {
Properties properties = new Properties();
setCommonProperties(properties);
properties.put(PropertyKeyConst.ProducerId, findCfgProducerId()); // 您在控制台创建的Producer ID
return properties;
}
public Properties getConsumerStarupProperties() {
Properties properties = new Properties();
setCommonProperties(properties);
properties.put(PropertyKeyConst.ConsumerId, findCfgConsumerId()); // 您在控制台创建的Producer ID
return properties;
}
private void setCommonProperties(Properties properties) {
properties.put(PropertyKeyConst.AccessKey, findCfgProducerAccessKey()); // 阿里云身份验证,在阿里云服务器管理控制台创建
properties.put(PropertyKeyConst.SecretKey, findCfgProducerSecrect()); // 阿里云身份验证,在阿里云服务器管理控制台创建
properties.put(PropertyKeyConst.ONSAddr,findCfgOnsSrvAddr());// 此处以公有云生产环境为例
}
}