ActiveMQ学习-Network connectors JAVA代码实现
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代码实现相关推荐
- ActiveMQ学习-Network connectors(1)
本文为network connectors的static connector学习笔记. Network connectors broker网络能够创建多个相互连接的ActiveMq实例组成的簇,以应对 ...
- 2017-03-02学习心得之Java代码
package com.lovo.classes; import java.util.Random; import java.util.TreeSet; import java.util.Scanne ...
- ActiveMQ的network connectors部署集群(七)
网络连接模式 针对海量消息所要求的横向扩展性和系统的高可用性,ActiveMQ提供了网络连接模式的集群功能.简单的说,就是通过把多个不同的broker实例连接在一起,作为一个整体对外提供服务,从而提高 ...
- 学习日报 day02 java的语法骨架 myeclipse编辑java代码
学习日报 day02 java的语法骨架 myeclipse编辑java代码 https://cloud.189.cn/t/3MJrm2MRNBRf 开发前的基本知识 java环境名词解释 JRE J ...
- 【强化学习】Q-Learning算法求解迷宫寻路问题 + Java代码实现
文章目录 前言 一.Q-Learning算法简介 1.1 更新公式 1.2 预测策略 1.3 详细资料 二.迷宫寻路问题简介 三.Java代码 3.1 环境说明 3.2 参数配置 3.3 迷宫环境类 ...
- Mendix敏捷开发零基础学习《三》-高级 (数据删除保护机制、数据关联删除、Security安全、调用外部接口、调用JAVA代码)
目录 Mendix敏捷开发零基础学习<三> 一. 数据保护机制(Prevention of Delete) 1.业务需求 2.业务分析 3.项目实现 二.Mendix权限(Security ...
- 调用java显示有何风险_Java学习----有风险的代码(异常)
Exception继承了Throwable,但是它本身是有异常类的父类. RuntimeException:运行时异常 Exception->RuntimeException->NullP ...
- JVM学习笔记(二)------Java代码编译和执行的整个过程
Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示: Java代码编译和执行的整个过程包含了以下三个重要的机制: ● Java ...
- 递归学习 斐波那契 java代码实现
文章目录 java代码 单元测试 java代码 package csdn.dreamzuora.recursion;/*** Title: 斐波那契额* Description:*斐波那契数列:0.1 ...
- ActiveMQ学习总结(5)——Java消息服务JMS详解
JMS: Java消息服务(Java Message Service) JMS是用于访问企业消息系统的开发商中立的API.企业消息系统可以协助应用软件通过网络进行消息交互. JMS的编程过程很简单,概 ...
最新文章
- 【VMCloud云平台】SCCM(四)域内推送代理
- Ubuntu上五款搜索工具:Albert、Synapse、Utools、Ulauncher、FSearch
- Git中.gitignore忽略文件(maven项目)
- @新金融人,点击翻开未来金融新画卷
- mybatis集成 Invalid bound statement (not found)
- glibc与MSVC CRT(转载)
- html传输的数值表示的含义,数字传递游戏的意义与感悟_传数字游戏心得体会
- JavaScript 学到什么程度可以学 Node.js?
- html5动画在线制作工具,KoolShow-KoolShow(HTML5动画制作工具) v2.4.4 官方版-CE安全网...
- centos7 安装java8
- c语言食堂饭卡管理课程设计,第十一章 C语言课程设计—饭卡管理程序.docx
- 【音视频】实操YUV与RGB互转(planar模式 YUV420、YUV422、YUV444与RGB888)
- CSDN会员服务协议
- csp怎么给线条描边_UI设计风格解析之MBE描边线条设计风格
- Android文字跑马灯简单实现的三种方法
- 美容院加盟十大品牌到底怎么选
- C# 格式化XML方法
- 为Windows11安装最新永久授权Office 2021
- 马士兵网络安全大师班薪选课程
- Android 6.0新特性[zz]