文档章节

【java-activemq】activemq 点对点模式

_______-
 _______-
发布于 2017/09/06 16:12
字数 467
阅读 11
收藏 0
点赞 0
评论 0

Destination destination = session.createQueue("xxx");


import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;

public class QueueConsumer {
	private static String user = ActiveMQConnection.DEFAULT_USER;  
	private static String password =ActiveMQConnection.DEFAULT_PASSWORD;  
	private static String url = "tcp://localhost:61616";  
	public static void main(String[] args) throws Exception{  
		// ConnectionFactory :连接工厂,JMS 用它创建连接  
		ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user,password,url);  
		// Connection :JMS 客户端到JMS Provider 的连接  
		Connection connection = connectionFactory.createConnection();  
		connection.start();  
		// Session: 一个发送或接收消息的线程  
		final Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);  
		// Destination :消息的目的地;消息发送给谁.  
		Queue queue=session.createQueue("channel_push_2085");  
		// 消费者,消息接收者  
		MessageConsumer consumer = session.createConsumer(queue);  
		consumer.setMessageListener(new MessageListener(){//有事务限制  
			@Override  
			public void onMessage(Message message) {  
				try {  
					TextMessage textMessage=(TextMessage)message;  
					System.out.println(textMessage.getText());  
				} catch (JMSException e1) {  
					e1.printStackTrace();  
				}  
				try {  
					session.commit();  
				} catch (JMSException e) {  
					e.printStackTrace();  
				}  
			}  
		});  

		/*  另外一种接受方式 
		 *    while (true) { 
	              //设置接收者接收消息的时间,为了便于测试,这里谁定为100s 
	              TextMessage message = (TextMessage) consumer.receive(100000); 
	              if (null != message) { 
	                  System.out.println("收到消息" + message.getText()); 
	              } else { 
	                  break; 
	              } 
	          }*/  
	}  
}



import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;

public class QueueProducer {
	private static String user = ActiveMQConnection.DEFAULT_USER;  
	private static String password =ActiveMQConnection.DEFAULT_PASSWORD;  
	private static String url =  "tcp://localhost:61616";  

	public static void main(String[] args)throws Exception {  
		// ConnectionFactory :连接工厂,JMS 用它创建连接  
		ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user,password,url);  
		// Connection :JMS 客户端到JMS Provider 的连接  
		Connection connection = connectionFactory.createConnection();  
		// Connection 启动  
		connection.start();  
		System.out.println("Connection is start...");  
		// Session: 一个发送或接收消息的线程  
		Session session = connection.createSession(Boolean.TRUE,Session.AUTO_ACKNOWLEDGE);  
		// Queue :消息的目的地;消息发送给谁.  
		Queue  destination = session.createQueue("channel_push_2085");  
		// MessageProducer:消息发送者  
		MessageProducer producer = session.createProducer(destination);  
		// 设置不持久化,此处学习,实际根据项目决定  
		producer.setDeliveryMode(DeliveryMode.PERSISTENT);  
		// 构造消息,此处写死,项目就是参数,或者方法获取  
		sendMessage(session, producer);  
		session.commit();  

		connection.close();  
		System.out.println("send text ok.");  
	}  

	public static void sendMessage(Session session, MessageProducer producer)  
			throws Exception {  
		for (int i = 1; i <= 100; i++) {//有限制,达到1000就不行  
			TextMessage message = session.createTextMessage("ActiveMq 发送的消息" + i);  
			// 发送消息到目的地方  
			System.out.println("发送消息:" + "ActiveMq 发送的消息" + i);  
			producer.send(message);  
		}  
	}  
}

© 著作权归作者所有

共有 人打赏支持
_______-
粉丝 3
博文 92
码字总数 36164
作品 0
浦东
程序员
Linux 安装ActiveMQ(使用Mac远程访问)

阅读本文需要安装JDK 一 ActiveMQ简介 activemq是用java语言编写的一款开源消息总线 activemq是apache出品 activemq消息的传递有两种类型 一种是点对点(即一个生产者和一个消费者一一对应) 另...

梦三
07/15
0
0
ActiveMQ安装配置和使用简例

本文作者:Zhang Phil 原文链接:http://blog.csdn.net/zhangphil/article/details/48173665 ActiveMQ安装配置和使用简例 ActiveMQ是一套JMS(Java Message Service)开源消息服务实现的组件...

开开心心过
2015/09/02
0
0
JMS配置说明-----activeMQ-5.6

1 简介 activeMQ是一个完全支持JMS1.1 和J2EE规范的JMS Provider实现; 尽管规范出台已经是很久的事情了,但JMS在当今的J2EE应用中仍然扮演着特殊的地位; 特性列表 多种语言和协议编写客户端...

次渠龙哥
06/26
0
0
2.ActiveMQ消息队列安装使用

全程是MOM (Message Oriented Middleware) 消息中间件 消息中间件有很多,比如: 1.ActiveMQ java语言编写的和java系统结合紧密 2.RabbitMQ Erlong语言开发的,天生支持高并发,性能优于A...

小杰java
2017/10/26
0
0
深入浅出 消息队列 ActiveMQ

一、 概述与介绍 ActiveMQ 是Apache出品,最流行的、功能强大的即时通讯和集成模式的开源服务器。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。提供客户端支持跨语言和...

亮liang
2015/05/27
0
0
消息队列篇—详谈ActiveMQ消息队列模式的分析及使用

消息队列(Message Queue)是分布式系统中重要的组件,通用使用场景可以简单地描述为当不需要立即获得结果,但是并发量需控制时就需要使用消息队列。消息列队有两种消息模式,一种是点对点的...

afreon
04/22
0
0
ActiveMQ 5.15.x Release安装和配置--Linux篇

阅读目录: 1. 关闭防火墙和Selinux 2. 下载并安装ActiveMQ 5.15.x Release版本 3. 启动并验证 4.配置ActiveMQ 5.15.x Release自启动 5.注意事项以及说明 1. 关闭防火墙和Selinux Linux的防火...

loubobooo
2017/11/26
0
0
ActiveMQ学习记录 之 消息持久化

1:前言 这一段给公司开发消息总线有机会研究ActiveMQ,今天撰文给大家介绍一下他的持久化消息。本文只介绍三种方式,分别是持久化为文件,MYSql,Oracle。下面逐一介绍。 A:持久化为文件 这...

李格尔楞
2017/11/01
0
0
springJMS+activeMQ实践

运行环境:jdk1.6 ,javaEE5 , spring2.5 ,activeMQ5.4.3. 一定要注意activeMQ的版本与jdk的兼容性,最新的activeMQ版本估计要在jdk1.7以上才能运行。 先说一下activeMQ的安装: 1、下载:h...

wangrikui
2015/06/28
0
2
ActiveMQ初探(1)——介绍与基本使用

一、ActiveMQ 1.1 什么是ActiveMQ 是Apache出品,最流行的,能力强劲的。ActiveMQ是一个完全支持和规范的 实现,尽管规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊...

yuanlaijike
04/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

单身税的时代就要来临,你还没有用Python帮你找一个女朋友吗?

单身税的历史可以追溯到2015年韩国的新政, 低生育率逼得韩国产生了这一政策。 现在我国也要实行这一政策, 很多单身狗就接受不了了 很可惜,国家不包分配对象, 男的都说找对象难, 有没有向...

猫咪编程
21分钟前
0
0
Java中 发出请求获取别人的数据(阿里云 查询IP归属地)

1.效果 调用阿里云的接口 去定位IP地址 2. 代码 /** * 1. Java中远程调用方法 * http://localhost:8080/mavenssm20180519/invokingUrl.action * @Title: invokingUrl * @Description: * @ret......

Lucky_Me
26分钟前
0
0
protobuf学习笔记

相关文档 Protocol buffers(protobuf)入门简介及性能分析 Protobuf学习 - 入门

OSC_fly
昨天
0
0
Mybaties入门介绍

Mybaties和Hibernate是我们在Java开发中应用的比较多的两个ORM框架。当然,目前Mybaties正在慢慢取代Hibernate,这是因为相比较Hibernate而言Mybaties性能更好,响应更快,更加灵活。我们在开...

王子城
昨天
0
0
编程学习笔记之python深入之装饰器案例及说明文档[图]

编程学习笔记之python深入之装饰器案例及说明文档[图] 装饰器即在不对一个函数体进行任何修改,以及不改变整体的原本意思的情况下,增加函数功能的新函数,因为这个新函数对旧函数进行了装饰...

原创小博客
昨天
0
0
流利阅读笔记33-20180722待学习

黑暗中的生物:利用奇技淫巧快活生存 Daniel 2018-07-22 1.今日导读 如果让你在伸手不见五指的黑暗当中生存,你能熬过几天呢?而大千世界,无奇不有。在很多你不知道的角落,有些生物在完全黑...

aibinxiao
昨天
5
0
Hystrix降级逻辑中如何获取触发的异常

通过之前Spring Cloud系列教程中的《Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)》一文,我们已经知道如何通过Hystrix来保护自己的服务不被外部依赖方拖垮的情况。但是实际...

程序猿DD
昨天
0
0
gin endless 热重启

r := gin.New()r.GET("/", func(c *gin.Context) {c.String(200, config.Config.Server.AppId)})s := endless.NewServer(":8080", r)s.BeforeBegin = func(add string) ......

李琼涛
昨天
0
0
JAVA模式之代理模式

平时一直在用spring,spring中最大的特效IOC和AOP,其中AOP使用的就是代理模式.闲着无聊,随手写了一个代理模式,也记录下代理模式的实现Demo. 比如现在有一个场景是:客户想要增加一个新的功能,...

勤奋的蚂蚁
昨天
0
0
ES15-JAVA API 索引管理

1.创建连接 创建连接demo package com.sean.esapi.client;import java.net.InetSocketAddress;import org.elasticsearch.action.get.GetResponse;import org.elasticsearch.clien......

贾峰uk
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部