当前位置: 首页 > news >正文

承德网站推广google官方下载

承德网站推广,google官方下载,房地产行业现状与未来,网站浮动窗口怎么做的项目中使用了mq,kafka两种消息队列进行发送数据,为了避免硬编码,在项目中通过不同的配置文件自动识别具体消息队列策略。这里整理两种实施方案,仅供参考! 方案一:创建一个工具类,然后根据配置文…

项目中使用了mq,kafka两种消息队列进行发送数据,为了避免硬编码,在项目中通过不同的配置文件自动识别具体消息队列策略。这里整理两种实施方案,仅供参考!

方案一:创建一个工具类,然后根据配置文件来返回具体的IBase实现类

1.IBaseService

/*** 发送数据接口*/
public interface IBaseService {void send();
}

2.KafkaServiceImpl

@Service
public class KafkaServiceImpl implements IBaseService {@AutowiredMyConfiguration myConfiguration;@Overridepublic void send() {System.out.println("调用Kafka接口发送数据!");myConfiguration.init("-------------Kafka-------------");}
}

3.MQServiceImpl

@Service
public class MQServiceImpl implements IBaseService {@AutowiredMyConfiguration myConfiguration;@Overridepublic void send() {System.out.println("调用MQ接口,发送数据!");myConfiguration.init("-------------MQ-----------");}
}

4.SendMessageUtil

/*** 根据不同配置文件,选择发送消息工具类*/
@Component
public class SendMessageUtil {//message.type在application.yaml,":kafka" 设置默认值为kafka@Value("${message.type:kafka}")private String type;@AutowiredKafkaServiceImpl kafkaService;@AutowiredMQServiceImpl mqService;public IBaseService get(){if (type.equals("kafka"))return kafkaService;elsereturn mqService;}
}

5.方案一单元测试及测试结果

application.yaml

message:type: kafka
	@AutowiredSendMessageUtil sendMessageUtil;@Testvoid contextLoadsTwo() {IBaseService tempBaseService = sendMessageUtil.get();tempBaseService.send();}

请添加图片描述

方案二:@Conditional注解根据配置文件注入不同的bean对象

1.KafkaCondition

/*** Kafka推送方式*/
public class KafkaCondition implements Condition {@Overridepublic boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {Environment environment = context.getEnvironment();String type = environment.getProperty("message.type");if (type.contains("kafka")){return true;}return false;}
}

2.KafkaServiceImpl上面加上@Conditional(KafkaCondition.class)

3.MQCondition

/*** MQ推送方式*/
public class MQCondition implements Condition {@Overridepublic boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {Environment environment = context.getEnvironment();String type = environment.getProperty("message.type");if (type.contains("mq")){return true;}return false;}
}

4.MQServiceImpl上面加上@Conditional(MQCondition.class)

5.方案二单元测试及测试结果

application.yaml

message:type: kafka
// 注意:运行contextLoadsTwo测试方法时候,需要将iBaseService全部注释掉,否则会报错// 也要将KafkaServiceImpl和MQServiceImpl上面@Conditional注释掉@AutowiredSendMessageUtil sendMessageUtil;@Testvoid contextLoadsTwo() {IBaseService tempBaseService = sendMessageUtil.get();tempBaseService.send();}

请添加图片描述

6.项目结构及源码

源码奉上,欢迎star!
MyIdea
在这里插入图片描述

http://www.dinnco.com/news/38611.html

相关文章:

  • 单网页网站内容甲马营seo网站优化的
  • 做网站百度推广块链友情链接平台
  • 青柠影院观看免费高清电视剧企业网站优化报告
  • 电子网站建设网络平台推广方案
  • 手机网站开发教程pdf中国培训网是国家公认的吗
  • 城口网站建设怎么发帖子做推广
  • 凡科建站的应用场景金戈枸橼酸西地那非片
  • 哪里有网站推广软件怎么做好网络推广销售
  • 传奇网页游戏变态版安徽seo网络推广
  • 不合理的网站自己怎么开电商平台
  • 有没有做网站的软件百度竞价开户费用
  • 2018做网站 工具怎么联系百度客服
  • 58同城做网站要钱吗输入关键词自动生成标题
  • 做美食网站的意义东莞网站公司排名
  • 那些网站招聘在家里做的客服可口可乐软文营销案例
  • wordpress实现轮播图云南seo网络优化师
  • 网站开发建设价格长沙有实力seo优化
  • 网站审批免费域名注册服务网站
  • 做动画网站公司石家庄seo公司
  • 网页设计师培训费用图片大全西安网络优化培训机构公司
  • 商标注册申请要多少钱江门网站优化公司
  • 网站建设方案书 doc免费发布广告的网站
  • 网站的收录率广州网站优化服务商
  • 网站开发后使用web服务器和郑州百度seo网站优化
  • 网投网站如何建设职业技能培训有哪些
  • 石家庄飞数科技班级优化大师的功能有哪些
  • 专门做网站俄罗斯网络攻击数量增长了80%
  • 女鞋网站建设策划方案廊坊百度推广电话
  • 网络平台怎么弄湖南网站建设seo
  • 郑州做网站那家做的好广告软文小故事200字