2019独角兽企业重金招聘Python工程师标准>>>

一、初始化类

@Component("initListener")
public class InitListener implements ServletContextAware, ApplicationListener<ContextRefreshedEvent> {/** logger */private static final Logger logger = Logger.getLogger(InitListener.class.getName());/** servletContext */private ServletContext servletContext;@Value("${system.version}")private String systemVersion;@Resource(name = "cacheServiceImpl")private CacheService cacheService;@Resource(name = "searchServiceImpl")private SearchService searchService;@Resource(name = "accessServerServiceImpl")private AccessServerService accessServerService;@Autowiredprivate MqServer mqServer;@Overridepublic void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {if(servletContext != null && contextRefreshedEvent.getApplicationContext().getParent() == null){logger.debug("系统初始化开始……");initSyncRuleMap();initMqServer();}}private void initMqServer() {//查询所有mq的地址,循环开启链接if (accessServerService ==null)accessServerService = (AccessServerService) SpringUtils.getBean("accessServerServiceImpl");List<AccessServer> servers = accessServerService.findAll();for (AccessServer accessServer : servers) {mqServer.addNetworkConnector("tcp://" + accessServer.getServerAddress());}}public void setServletContext(ServletContext servletContext) {this.servletContext = servletContext;}}

二、mqserver 服务类

@Service("mqServer")
public class MqServer {private static Logger logger = Logger.getLogger(MqServer.class);@Resource(name = "tamperServer")private TamperServerImpl tamperServer;@Resource(name = "amqBroker")private BrokerService broker;@Value(value = "${activemq.username}")private String brokerUserName;@Value(value = "${activemq.password}")private String brokerPassword;/*** 添加网络连接* * @param netWorkUrl*/public void addNetworkConnector(String netWorkUrl) {try {URI localURI = URI.create("static:(" + netWorkUrl + ")");NetworkConnector networkConnector = new DiscoveryNetworkConnector(localURI);networkConnector.setUserName(brokerUserName);networkConnector.setPassword(brokerPassword);networkConnector.setDuplex(true);networkConnector.setBrokerName(netWorkUrl);networkConnector.setName(netWorkUrl);broker.addNetworkConnector(networkConnector);networkConnector.start();} catch (Exception e) {logger.error("activemq 增加 NetworkConnector 失败,异常:" + e.getMessage());}}/*** 添加网络连接* * @param netWorkUrl*/public void removeNetworkConnector(String netWorkUrl) {try {NetworkConnector connector = broker.getNetworkConnectorByName(netWorkUrl);broker.removeNetworkConnector(connector);connector.stop();} catch (Exception e) {logger.error("activemq 删除  NetworkConnector 失败,异常:" + e.getMessage());}}
}

转载于:https://my.oschina.net/u/3391025/blog/1629178

ActiveMQ学习-Network connectors JAVA代码实现相关推荐

  1. ActiveMQ学习-Network connectors(1)

    本文为network connectors的static connector学习笔记. Network connectors broker网络能够创建多个相互连接的ActiveMq实例组成的簇,以应对 ...

  2. 2017-03-02学习心得之Java代码

    package com.lovo.classes; import java.util.Random; import java.util.TreeSet; import java.util.Scanne ...

  3. ActiveMQ的network connectors部署集群(七)

    网络连接模式 针对海量消息所要求的横向扩展性和系统的高可用性,ActiveMQ提供了网络连接模式的集群功能.简单的说,就是通过把多个不同的broker实例连接在一起,作为一个整体对外提供服务,从而提高 ...

  4. 学习日报 day02 java的语法骨架 myeclipse编辑java代码

    学习日报 day02 java的语法骨架 myeclipse编辑java代码 https://cloud.189.cn/t/3MJrm2MRNBRf 开发前的基本知识 java环境名词解释 JRE J ...

  5. 【强化学习】Q-Learning算法求解迷宫寻路问题 + Java代码实现

    文章目录 前言 一.Q-Learning算法简介 1.1 更新公式 1.2 预测策略 1.3 详细资料 二.迷宫寻路问题简介 三.Java代码 3.1 环境说明 3.2 参数配置 3.3 迷宫环境类 ...

  6. Mendix敏捷开发零基础学习《三》-高级 (数据删除保护机制、数据关联删除、Security安全、调用外部接口、调用JAVA代码)

    目录 Mendix敏捷开发零基础学习<三> 一. 数据保护机制(Prevention of Delete) 1.业务需求 2.业务分析 3.项目实现 二.Mendix权限(Security ...

  7. 调用java显示有何风险_Java学习----有风险的代码(异常)

    Exception继承了Throwable,但是它本身是有异常类的父类. RuntimeException:运行时异常 Exception->RuntimeException->NullP ...

  8. JVM学习笔记(二)------Java代码编译和执行的整个过程

    Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制: ● Java ...

  9. 递归学习 斐波那契 java代码实现

    文章目录 java代码 单元测试 java代码 package csdn.dreamzuora.recursion;/*** Title: 斐波那契额* Description:*斐波那契数列:0.1 ...

  10. ActiveMQ学习总结(5)——Java消息服务JMS详解

    JMS: Java消息服务(Java Message Service) JMS是用于访问企业消息系统的开发商中立的API.企业消息系统可以协助应用软件通过网络进行消息交互. JMS的编程过程很简单,概 ...

最新文章

  1. 【VMCloud云平台】SCCM(四)域内推送代理
  2. Ubuntu上五款搜索工具:Albert、Synapse、Utools、Ulauncher、FSearch
  3. Git中.gitignore忽略文件(maven项目)
  4. @新金融人,点击翻开未来金融新画卷
  5. mybatis集成 Invalid bound statement (not found)
  6. glibc与MSVC CRT(转载)
  7. html传输的数值表示的含义,数字传递游戏的意义与感悟_传数字游戏心得体会
  8. JavaScript 学到什么程度可以学 Node.js?
  9. html5动画在线制作工具,KoolShow-KoolShow(HTML5动画制作工具) v2.4.4 官方版-CE安全网...
  10. centos7 安装java8
  11. c语言食堂饭卡管理课程设计,第十一章 C语言课程设计—饭卡管理程序.docx
  12. 【音视频】实操YUV与RGB互转(planar模式 YUV420、YUV422、YUV444与RGB888)
  13. CSDN会员服务协议
  14. csp怎么给线条描边_UI设计风格解析之MBE描边线条设计风格
  15. Android文字跑马灯简单实现的三种方法
  16. 美容院加盟十大品牌到底怎么选
  17. C#   格式化XML方法
  18. 为Windows11安装最新永久授权Office 2021
  19. 马士兵网络安全大师班薪选课程
  20. Android 6.0新特性[zz]

热门文章

  1. ExtJS 在grid中想要取消checkbox选中的方法
  2. live555源码编译(win7+vs2010)
  3. C++基本类型隐性转换。
  4. PLSQL复合变量与参照变量
  5. 第三章 动态规划-基于模型的RL-强化学习理论学习与代码实现(强化学习导论第二版)
  6. 知识图谱属性与关系区别
  7. 智能优化算法:动物迁徙优化算法-附代码
  8. 从零基础入门Tensorflow2.0 ----九、44.5 keras转换成具体函数
  9. arcgis鹰眼图问题
  10. python读取dat文件并保存为Excel格式