maven项目ActiveMQ集成

activemq在maven工程 activemq maven工程示例 xml配置;注解方式均有实现 资源注入,静态工具均有实现 立即下载

1.linux下activemq安装与配置

1.1、下载:apache-activemq-5.14.0-bin.tar.gz

http://activemq.apache.org/activemq-5140-release.html

1.2、安装activemq

1.2.1、gz文件拷贝到/usr/local/src目录

1.2.2、解压启动

tar -zxvf apache-activemq-5.14.0-bin.tar.gz

cd apache-activemq-5.14.0

cd bin

./activemq start

 netstat -anp|grep 61616

1.3、开启防火墙端口

1.3.1、如果使用了云服务器需要先开启8161(web管理页面端口)、61616(activemq服务监控端口) 两个端口

1.3.2、打开linux防火墙端口

/sbin/iptables -I INPUT -p tcp --dport 8161 -j ACCEPT&&/etc/init.d/iptables save&&service iptables restart&&/etc/init.d/iptables status

/sbin/iptables -I INPUT -p tcp --dport 61616 -j ACCEPT&&/etc/init.d/iptables save&&service iptables restart&&/etc/init.d/iptables status

1.4、打开web管理页面

http://IP:8161/admin

默认用户名密码 admin/admin 

1.5、安全配置

http://activemq.apache.org/security.html

1.5.1、activemq.xml新增账号密码(broker标签下添加)


<simpleAuthenticationPlugin>
    <users>
        <authenticationUser username="system" password="manager"
            groups="users,admins"/>
        
    </users>
</simpleAuthenticationPlugin>

1.5.2、程序代码中添加账号密码

 

2. ActiveMQ集成

2.1 pom.xml中引入必要包

                <!-- mq消息集成 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jms</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.activemq</groupId>
			<artifactId>activemq-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.activemq</groupId>
			<artifactId>activemq-pool</artifactId>
		</dependency>

2.2 xml文件spring-activeMQ-config.xml中必要配置添加

<!-- spring提供的jms工具类,进行消息的发送、接收 -->
    <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
        <!-- 这个connectionFactory对应的是我们定义的Spring提供的那个ConnectionFactory对象 -->
        <property name="connectionFactory" ref="connectionFactory"></property>
        <property name="receiveTimeout" value="10000"/>
        <property name="sessionTransacted" value="true"/>
    </bean>

    <!-- 真正可以产生Connection的ConnectionFactory,由对应的JMS厂商提供,activeMQ ${schema}://${host}:${port}-->
    <bean id="targetConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
        <!-- property name="brokerURL" value="${schema}://${host}:${port}"></property -->
        <property name="brokerURL" value="failover:(${schema})&amp;maxReconnectDelay=1000"></property>
        <property name="userName" value="${userName}"></property>
        <property name="password" value="${password}"></property>
    </bean>
	
	<bean id="connectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory">  
	    <property name="targetConnectionFactory" ref="targetConnectionFactory"/>  
	</bean> 

2.3 消息接收配置spring-activeMQ-config.xml中添加

<!-- resultStatus队列目的地-->
	<bean id="resultStatusQueue" class="org.apache.activemq.command.ActiveMQQueue">
        <constructor-arg index="0" value="${resultStatus.res}"/>
    </bean>
	<!-- resultStatus消息接收监听器用于异步接收消息-->
	<bean id="resultStatusContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
        <property name="connectionFactory" ref="connectionFactory"/>
        <property name="destination" ref="resultStatusQueue"/>
        <property name="messageListener" ref="resultStatusListener"/>
    </bean>
    <!-- resultStatus消息监听实现方法一 -->
    <bean id="resultStatusListener" class="com.xxxxxx.hyom.outeradmin.listener.ResultStatusInfoListener"></bean>

2.4 消息接收监听类实现 :

com.xxxxxx.hyom.outeradmin.listener.ResultStatusInfoListener

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.transaction.annotation.Transactional;

@Transactional
public class ResultStatusInfoListener implements MessageListener {
	
	private final Logger log = LoggerFactory.getLogger(ResultStatusInfoListener.class);
	
	@Override
	public void onMessage(Message message) {
		// TODO Auto-generated method stub
		log.info("ResultStatusInfoListener 接收消息 start......");
		TextMessage tm = (TextMessage) message;
		String text;
		try {
			text = tm.getText();
			log.info("ResultStatusInfoListener text:{}", text);
		} catch (JMSException e) {
			e.printStackTrace();
		}
		log.info("ResultStatusInfoListener 接收消息 end......");
	}
}

 

2.5 消息发送接口实现

import javax.annotation.Resource;
import javax.jms.JMSException;
import org.apache.activemq.command.ActiveMQTextMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.stereotype.Service;
import com.xxxxxx.eosc.order.entity.SendMqBean;
import com.xxxxxx.eosc.order.service.ISendMqMessageService;
import com.xxxxxx.framework.core.Result;
import net.sf.json.JSONObject;

/**
 * 消息具体发送接口
 */
@Service
public class SendMqMessageServiceImpl implements ISendMqMessageService {
	private static final Logger LOGGER = LoggerFactory.getLogger(SendMqMessageServiceImpl.class);

	@Resource
	private JmsTemplate jmsTemplate;

	/**
	 * 20160608 James 修改: 
	 * <p>1. 发消息前创建session时,设置acknowledge模式为CLIENT_ACKNOWLEDGE,
	 * 使得consumer消费完消息后,可以通过调用acknowledge()方法向producer发送确认消息,producer
	 * 收到确认消息后,会将消息从消息队列移除;如果producer没有收到确认消息,producer会继续发送,
	 * 发送达到6次后,还未收到consumer的确认消息的话,producer就会将消息从原队列中移到activeMQ的
	 * 自带队列中,并不再继续发送。
	 * 
	 * <p>2. 消息发送失败后抛出RuntimeException,保证发消息和订单中心业务逻辑在一个事务中。
	 * 
	 * destination 消息队列名
	 * sendMqBean  消息内容实体
	 */
	@Override
	public Result sendMessage(String destination, SendMqBean sendMqBean) {
		Result result = new Result();
		LOGGER.info("[ISendMqMessageService] sendMessage enter destinationName "+ destination);
		
		ActiveMQTextMessage textMsg = new ActiveMQTextMessage();
		try {
			if (destination == null || "".equals(destination)) {
				LOGGER.info("[ISendMqMessageService] sendMessage destinationName is empty.");
				result.setSuccess(false);
				result.setMsg("消息队列为空");
				result.setMsgCode("-1");
				return result;
			}

			if (sendMqBean == null) {
				LOGGER.info("[ISendMqMessageService] sendMessage Sending jms orderInfo is not allow null.");
				result.setSuccess(false);
				result.setMsg("消息内容为空");
				result.setMsgCode("-2");
				return result;
			}
			JSONObject json = JSONObject.fromObject(sendMqBean);
			LOGGER.info("[ISendMqMessageService] sendMessage content:"+ json.toString());

			textMsg.setGroupID("ORDER"); // 组别标识
			textMsg.setGroupSequence(0);//组别排序
			textMsg.setText(json.toString()); // 业务属性
			jmsTemplate.convertAndSend(destination, textMsg);
			LOGGER.info("[ISendMqMessageService] sendMessage sending...");
			
			result.setSuccess(true);
			result.setMsg("发送成功");
			result.setMsgCode("0");
		} catch (JMSException e) {
			LOGGER.error("[ISendMqMessageService] sendMessage send message error "
					+ e.getLocalizedMessage());
			// 抛出运行时异常,让事务回滚
			throw new RuntimeException(e);
		}
		LOGGER.info("[ISendMqMessageService] sendMessage exit destinationName "+ textMsg);
		return result;
	}
}

 

基于Maven的ActiveMQ的简单实例 立即下载

相关推荐

KITTI数据集下载及解析

KITTI数据集下载及解析 版本 更新时间 更新内容 作者 1 V 1.0 xxx 完成主体内容 W. Xiao 2 文章目录KITTI Dataset1 简介1.1 数据采集平台1.2 坐标系2 数据解析2.1 image文件2.2 velodyne文件2.3 calib文件2.4 label文件3 KITTI可视...

u013086672的博客 5万+

Maven使用ActiveMQ

文章目录1. ActiveMQ JMS入门案例1.1 环境准备1.2 JMS-点对点模式发送消息1.3 JMS-点对点模式接收消息1.4 JMS-发布订阅模式-发送消息1.5 JMS-发布订阅模式-接收消息 1. ActiveMQ JMS入门案例 环境配置 官网地址: https://activemq.apache.org/ 下载成功后解压,进入bin目录执行 ./active start即可 访问web页面, 服务器地址:8161 用户名密码均为 admin 1.1 环境准备 pom文件引入坐标

weixin_44232093的博客 1297

接地设计的本质:按电流类型选择物理连接方式

接地是电子系统中实现电位参考、噪声抑制与安全保护的基础技术,其核心原理在于为不同性质的电流提供可控的低阻抗返回路径。从直流到GHz频段,电流的频率特性、能量等级和持续时间决定了接地的物理实现方式——工频安全电流依赖低电阻导体,高频噪声需低感平面或磁珠衰减,ESD脉冲要求受控泄放电阻,浪涌能量则必须通过独立短路径导入大地。这种‘目的决定方式’的设计逻辑,直接关联EMC合规性、信号完整性与系统可靠性。本文聚焦PCB级与设备级工程实践,详解安全地、功能地、浪涌地与静电地的判据差异及六种典型连接策略,帮助硬件工程师

weixin_36369848的博客 258

ActiveMQ 简介、安装、与 Maven 项目基本使用

目录 ActiveMQ 简介 ActiveMQ 5.15.9 安装 ActiveMQ 基本使用 ActiveMQ 简介 1、ActiveMQ 是 Apache 推出的一款开源免费的,完全支持 JMS1.1 和 J2EE 1.4 规范的 JMS Provider 实现的消息中间件(Message Oriented Middleware,MOM) 2、ActiveMQ 最主要的功能是实现 ...

蚩尤后裔-汪茂雄 9592

使用运放构建电压跟随器

运放,是运算放大器的简称 运算放大器是用模拟电子器件(如晶体管,场效应管,二极管等)构成的模拟集成电路,其特点是有很高的放大倍数和抗干扰能力,因此可以被设计成各种用途的派生电路,如电压比较器、窗口电路、波形发生电路等等,其中也有电压跟随器。 电压跟随器是一种具有100%电压负反馈的放大器电路,其特点是输出电压的幅度和极性都与输入电压相同,所以叫跟随器。典型线路如图所示: 运放跟随器有输入阻抗高,而输出阻抗低的特性,一般来说,输入阻抗可以达到几兆欧姆,而输出阻抗低,通常只有几欧姆,甚至更低。 在电

Code for Coffee 5万+

使用TEA5767和stm32制作一台数字FM收音机

本节我们来使用stm32控制一款集成收音机芯片TEA5767,来制作一台FM收音机。 TEA5767是一款低功耗立体声收音IC,接收频率76MHz~108MHz(适应日本/美国/欧洲各FM频段选择)并可以使用软件进行静音和消除噪音。 主要电性能指标:工作电压:2.5V~5.0V,工作电流10mA,立体声分离度30dB,信噪比60dB,输出信号电平75mV。支持I2C总线通信、3-wire总线。 1)硬件设计 TEA5767芯片外围需要搭配较多的电阻、电容、电感、晶振等器件,而且高频电路的PCB设

小白白学电子 1万+

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

小柒的博客 930

天龙八部TLBB系列 - 网单用数据库修改为其他门派

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等) --- 天龙八部修改门派

空名先生 9429

ActiveMQ 命令行启动 与 嵌入式启动、MessageListener 监听消息

目录 命令行启动 嵌入式启动 MessageListener 监听消息 《ActiveMQ 基本使用》中已经介绍了 ActiveMQ 命令行启动,本文详细介绍 ActiveMQ 的启动方式。 命令行启动 1、下载解压 ActiveMQ 后,进入 bin 目录下,命令行启动: 1)activemq start:此时将默认使用 conf 目录下的 activemq.xml 配置文件进行...

蚩尤后裔-汪茂雄 8231

SpringAI系列 - MCP篇(二) - MCP Server Boot Starter

此处需注意之前的。

罗小爬的技术宝书 1316

VMware下载与安装

一、VMware下载 二、VMware安装

欢迎订阅我的“JAVA全栈开发笔记(全)”专栏,价格优惠,仅需19.9元。 315

Spring集成ActiveMQ,maven项目实战

*应用方案 针对回调接口通知客户,目前想到了两种方案,本项目采用第二种方案。 方案一:采用ActiveMq的重发机制,配置好重发次数,间隔时间即可。但是,间隔时间只能一次性获取,也就是说如果设置重发次数6次,间隔1小时,那么在6小时内就会重发6次。不能达到支付宝微信他们的回调机制的效果,有待改进。 方案二:创建多个生产者以及对应的消费者和监听器,生产者1即时请求消费者1,消费者处理数据,调用客户接...

危险、的博客 2709

36、T5L 迪文屏C51开发之绘制动态曲线

T5L 迪文屏C51开发之绘制动态曲线1、介绍2、例程功能简介3、GUI界面设计3、C51程序设计 1、介绍   本文将利用DGUS Tool软件中的【动态曲线控件】来绘制曲线效果,在T5L迪文屏中总共支持8个通道的曲线,而曲线数据是需要缓冲区的,如果 8 通道曲线同时使用,0x1000-0x4FFF 将作为曲线缓冲区地址,此时该部分变量地址不能被其他控键使用,其他控键地址使用范围为0x5000-0xFFFF,当某曲线通道不被使用时,那么其所对应的缓冲区地址可以做其他用途,曲线通道具体的地址分布如下图所示:

嵌入式羊圈 3129

Springboot集成activemq

springboot集成activeMQ文档 Maven地址: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> ...

HMing的博客 297

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Web项目容器集成ActiveMQ & SpringBoot整合ActiveMQ

  集成tomcat就是随项目启动而启动tomcat,最简单的方法就是监听器监听容器创建之后以Broker的方式启动ActiveMQ。 1.web项目中Broker启动的方式进行集成   在这里采用Listener监听ServletContext创建和销毁进行Broker的启动和销毁。 0.需要的jar包: 1.listener实现ServletContextListener...

weixin_30546933的博客 133

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Spring 与 ActiveMQ 的深度集成实践(一)

XML 配置与注解驱动开发、队列与主题的 Spring 配置差异、消费者监听的自动化配置。

1178

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

MAVEN的配置(自己参考)

持续集成自动化工具。apache project推得很厉害。具体持续集成的概念确实不是很明了,听说不少,总觉得是批处理,使用XML描述要自动做的事情。如下载运行库,编译,配置,部署,根据junit自动自行测试,生产报告。Java项目,据说比ant更加强大。今天被迫使用了一把。SCM工具?参考http://icecloud.51.net/blog/archives/000212.html 自己实践了

836

ActiveMQ与Spring集成实战

Apache ActiveMQ作为一款流行的开源消息代理,以其灵活、强大的功能和多协议支持,成为了众多开发者的首选。本文将通过一个完整的实例,展示如何在Spring项目中集成ActiveMQ,实现消息的发送与接收。通过本文的实例,我们详细展示了如何在Spring项目中集成ActiveMQ,实现消息的发送与接收。ActiveMQ的多协议支持和Spring的注解驱动编程模型,使得整个过程变得简洁而高效。在实际开发中,这种集成方式可以广泛应用于异步消息处理、微服务通信等场景,为分布式系统的构建提供了强大的支持。

m0_74337424的博客 565

java项目使用activemq

第一步:下载mq,win10安装教程www.baidu.com 1.启动activemq,并进入网站 http://127.0.0.1:8161/,打开mq网站,可查看相关队列信息 2.点击 Manage ActiveMQ broker,登陆账号密码均为 admin 第二步:idea创建maven工程,加入依赖如下: <dependencies> <depend...

weixin_39433171的博客 1047

ActiveMq系列(三):Springboot集成ActiveMq

server: port: 10000 spring: activemq: #代理地址 broker-url: tcp://10.0.80.211:61616 #账号 user: zhangsan #密码 password: 12345 #false 内存模式启动代理 true 远程访问代理 in-memory: false #jms连接池 pool: enabled: true max-conn

Show Me The Code 786

ActiveMQ找不到BrokerViewMBean和QueueViewMBean

相关jar包 org.apache.activemq.broker.jmx.BrokerViewMBean; org.apache.activemq.broker.jmx.QueueViewMBean; pom.xml <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-client</artifactId> </dependency&

前者已逝,后者未至。 731

ActiveMQ利用ajax收发消息

准备工作: 后台需要导包: activemq-all.jar activemq-web.jar jetty-all.jar 如果是maven项目: pom.xml <dependency> <groupId>org.apache.activemq</groupId> &...

dengxianji1647的博客 124

4.ActiveMQ-Spring集成

4.1 ActiveMQ和Spring集成 由于在项目中一般用的环境都是spring,所以需要知道,spring怎么集成ActiveMQ。 4.1.1 搭建提供者项目 第一步:创建一个 Maven 的项目,名为:spring-activemq-producer,导入 jar &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xm...

Willson_L的博客 440

86. Spring Boot集成ActiveMQ【从零开始学Spring Boot】

在Spring Boot中集成ActiveMQ相对还是比较简单的,都不需要安装什么服务,默认使用内存的activeMQ,当然配合ActiveMQ Server会更好。在这里我们简单介绍怎么使用,本节主要分以下几个步骤: (1) 新建Maven Java Project; (2) 在pom.xml引入依赖; (3) 编码测试 (4) 配置信息        接下来看看各个步骤的操作: (

AndyLizh的专栏 855

ActiveMQ集成Spring并发送消息

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

weixin_33834679的博客 140

在springboot中使用activeMQ

生产者应用的搭建: 1、添加maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </depen...

fly_d_0708的博客 2904
上一篇: linux上用Xftp 5+Xshell 5配合部署tomcat项目
下一篇: 利用eclipse自定义模板创建日志打印模板
夜未眠shm
博客等级 码龄14年 15粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值