ActiveMQ单机部署及简单应用
系统版本:Centos 7
前言
MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。
特点:
1、支持多种语言编写客户端
2、对spring的支持,很容易和spring整合
3、支持多种传输协议:TCP,SSL,NIO,UDP等
4、支持AJAX
消息形式:
1、点对点(queue)
2、一对多(topic)
下载前准备
1、下载安装包
两种方案
1)ActiveMQ官网下载,然后上传至服务器
2)通过命令下载 wget http://archive.apache.org/dist/activemq/5.15.10/apache-activemq-5.15.10-bin.tar.gz
2、解压,修改文件夹名称,进入bin目录
# tar -zxvf /usr/local/apache-activemq-5.15.10-bin.tar.gz -C /usr/local
# mv /usr/local/apache-activemq-5.15.10 /usr/local/apache-activemq
# cd /usr/local/apache-activemq/bin
3、启动服务
# activemq start
若文件没有权限则需提升权限
# chmod activemq
4、查看防火墙是否关闭,需关闭防火墙
# firewall-cmd --state

firewall-cmd --state #查看防火墙状态
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
5、访问控制台页面
http://192.168.1.101:8161/admin
6、登录控制台,默认用户名密码均为admin

7、配置文件说明
进入到/usr/local/activemq/conf目录,有以下几个重要文件
(1) activemq.xml,在此文件中你可以配置activemq的很多东西,比如将消息持久化到数据库等。
(2) credentials.properties,一些密码,多用于生产和消费的密码认证。
(3) jetty.xml,activemq内置了jetty应用服务器。
(4) jetty-realm.properties,activemq控制台登陆密码。
8、C#控制台生产者和消费者
VS中新建两个控制台,都引用NuGet包Apache.NMS.ActiveMQ
先启动生产者再启动消费者
Producer
using Apache.NMS;
using Apache.NMS.ActiveMQ;
using System; namespace MQProducer
{
class Program
{
static void Main(string[] args)
{
string str = "192.168.1.101:61616";
while (!Console.KeyAvailable)
{
//初始化工厂
IConnectionFactory factory = new ConnectionFactory("activemq:tcp://" + str);
using (IConnection connection = factory.CreateConnection())
{
using (ISession session = connection.CreateSession())
{
IMessageProducer prod = session.CreateProducer(
new Apache.NMS.ActiveMQ.Commands.ActiveMQTopic("testing"));
//Send Messages
int i = ;
ITextMessage msg = prod.CreateTextMessage();
msg.Text = i.ToString();
Console.WriteLine("Sending: " + i.ToString());
prod.Send(msg, Apache.NMS.MsgDeliveryMode.NonPersistent, Apache.NMS.MsgPriority.Normal, TimeSpan.MinValue);
System.Threading.Thread.Sleep();
i++;
}
}
}
}
}
}
Consumer
using Apache.NMS;
using Apache.NMS.ActiveMQ;
using System; namespace MQConsumer
{
class Program
{
static void Main(string[] args)
{
try
{
string str = "192.168.1.101:61616"; //初始化工厂
IConnectionFactory factory = new ConnectionFactory("activemq:tcp://" + str); //Create the connection
using (IConnection connection = factory.CreateConnection())
{
connection.ClientId = "testing listener";
connection.Start(); //Create the Session
using (ISession session = connection.CreateSession())
{
//Create the Consumer
IMessageConsumer consumer = session.CreateDurableConsumer(new Apache.NMS.ActiveMQ.Commands.ActiveMQTopic("testing"), "testing listener", null, false); consumer.Listener += new MessageListener(consumer_Listener); Console.ReadLine();
}
connection.Stop();
connection.Close();
}
}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
} static void consumer_Listener(IMessage message)
{
try
{
ITextMessage msg = (ITextMessage)message;
Console.WriteLine("Receive: " + msg.Text);
}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}
ActiveMQ单机部署及简单应用的更多相关文章
- 消息队列--ActiveMQ单机部署
一.环境需求 1,Centos7环境 2,jdk 1.8+ 3,主机名的命名方式中不能含有'_'字符 二.软件包下载 1,下载路径 wget http://mirror.bit.edu.cn/apac ...
- Dubbo+zookeeper构建高可用分布式集群(一)-单机部署
不久前,我们讨论过Nginx+tomcat组成的集群,这已经是非常灵活的集群技术,但是当我们的系统遇到更大的瓶颈,全部应用的单点服务器已经不能满足我们的需求,这时,我们要考虑另外一种,我们熟悉的内容, ...
- 使用yum源的方式单机部署MySQL8.0.13
使用yum源的方式单机部署MySQL8.0.13 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 基本上开源的软件都支持三种安装方式,即rmp方式安装,源码安装和二进制方式安装.在 ...
- Hadoop生态圈-CentOs7.5单机部署ClickHouse
Hadoop生态圈-CentOs7.5单机部署ClickHouse 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 到了新的公司,认识了新的同事,生产环境也得你去适应新的集群环境,我 ...
- Kafka记录-Kafka简介与单机部署测试
1.Kafka简介 kafka-分布式发布-订阅消息系统,开发语言-Scala,协议-仿AMQP,不支持事务,支持集群,支持负载均衡,支持zk动态扩容 2.Kafka的架构组件 1.话题(Topic) ...
- Win10 下 hadoop3.0.0 单机部署
前言 因近期要做 hadoop 有关的项目,需配置 hadoop 环境,简单起见就准备进行单机部署,方便开发调试.顺便记录下采坑步骤,方便碰到同样问题的朋友们. 安装步骤 一.下载 hadoop-XX ...
- RocketMQ 消息队列单机部署及使用
转载请注明来源:http://blog.csdn.net/loongshawn/article/details/51086876 相关文章: <RocketMQ 消息队列单机部署及使用> ...
- redission-tomcat:快速实现从单机部署到多机部署
原文地址: http://blog.jboost.cn/2019/06/29/session-redis.html 一些项目初期出于简单快速,都是做单机开发与部署,但是随着业务的扩展或对可用性要求的提 ...
- Clickhouse单机部署以及从mysql增量同步数据
背景: 随着数据量的上升,OLAP一直是被讨论的话题,虽然druid,kylin能够解决OLAP问题,但是druid,kylin也是需要和hadoop全家桶一起用的,异常的笨重,再说我也搞不定,那只能 ...
随机推荐
- 02_已解决 [salt.minion :1758][ERROR ][52886] Returner mysql.returner could not be loaded: 'mysql' __virtual__ returned False: Could not import mysql returner; mysql python client is not installed.
总结:python2.7下的salt,要把 mysql-python也安装,并不是python3环境,看清,看清 Returners组件,master自动把值写入mysql数据库中,出现的问题 1.本 ...
- JS BOM基础 全局对象 window location history screen navigator
全局变量声明的两种方式:1,window.变量名=值;2,var 变量名=值; 全局函数声明的两种方式:1,window.函数名=function(){}2,function 函数名=function ...
- ZooKeeper - 攘外安内的多面管理员
Zookeeper 作为分布式协调框架,在实际生产中有着不可替代的位置,它作为管理框架,大多数时间是不需要我们去维护的.也正是由于它是协调全局的管理者,所以它的一些内部原理我们还是要了解的. 今天我们 ...
- SIGAI深度学习第八集 卷积神经网络2
讲授Lenet.Alexnet.VGGNet.GoogLeNet等经典的卷积神经网络.Inception模块.小尺度卷积核.1x1卷积核.使用反卷积实现卷积层可视化等. 大纲: LeNet网络 Ale ...
- GitHub 在国内无法访问
解决方法: 1.打开Dns检测|Dns查询 - 站长工具 2.在检测输入栏中输入http://github.com官网 3.把检测列表里的TTL值最小的IP输入到hosts里,并对应写上github官 ...
- 【概率论】3-2:连续分布(Continuous Distributions)
title: [概率论]3-2:连续分布(Continuous Distributions) categories: Mathematic Probability keywords: Continuo ...
- 将省市县三级联动的json数据,转化为element-ui能用的格式,并使用
var options=[]; var cities = { '北京': { '北京': ['东城区', '西城区', '崇文区', '宣武区', '朝阳区', '丰台区', '石景山区', '海淀区 ...
- B. Uniqueness(尺取)
B. Uniqueness time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- Java学习之路(2)
Java中的标识符及命名规范 一.标识符可以使用字母.下划线.$.数字及其他们的组合命名,不能以数字开始,其他的3中可以起头.关键字和保留字不能作为标识符使用; 二.Java是大小写敏感的,也就是说i ...
- JAVA基础知识|类设计技巧
1.一定要保证数据私有 2.一定要对数据初始化 3.不要再类中使用过多的基本类型 4.不是所有的域都需要独立的域访问器和域更改器 5.将职责过多的类进行分解 6.类名和方法名要能够体现它们的职责 7. ...