当前位置: 首页 > 编程日记 > 正文

使用apache的activemq集合JMS处理异步消息

为什么80%的码农都做不了架构师?>>>   hot3.png

1:先去apache下载

http://activemq.apache.org/ ,大约有25M,要有点耐心

直接打开就可以使用;当然它也提供了安装为windows service的方法

2:配置activemq

在conf文件夹中配置

activemq.xml

主要是配置内存和端口

<policyEntry queue=">" memoryLimit="100mb"/>
<policyEntry topic=">" memoryLimit="100mb">
<amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data" maxFileLength="100 mb"/>
<memoryUsage limit="50 mb"/>

其中是否异步写是很重要一个参数

3:使用web方式访问管理

http://localhost:8161/admin/

很是方便

4:编程方式使用,系统安装后,有一个DEMO,你可以先测试一下,以后就照这个DEMO写就行了

5:在应用中的web.xml配置

<context-param>
<param-name>brokerURI</param-name>
<param-value>/WEB-INF/activemq.xml</param-value>
</context-param>
<listener>
<listener-class>org.activemq.web.SpringBrokerContextListener</listener-class>
</listener>

6:工具类

/**
 *
 */
package MQ;

/**
 * @author 小峰
 *
 */
import javax.jms.JMSException;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;
import org.springframework.jms.core.support.JmsGatewaySupport;

public class QSender extends JmsGatewaySupport {

public static void send(String message) throws JMSException {
  QueueConnectionFactory factory = new ActiveMQConnectionFactory(
    "tcp://127.0.0.1:61616");
  Queue queue = new ActiveMQQueue("queue.name.sample");
  QueueConnection conn = factory.createQueueConnection();
  for (int i = 0; i < 10000; i++) {
   QueueSession session = conn.createQueueSession(false,
     Session.AUTO_ACKNOWLEDGE);
   QueueSender sender = session.createSender(queue);
   TextMessage msg = session.createTextMessage(message);
   sender.send(msg);
  }
  conn.close();
 }
}

/**
 *
 */
package MQ;

/**
 * @author 小峰
 *
 */
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueReceiver;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;

// implements MessageListener in order to receiving asynchronous message
public class QReceiver implements MessageListener {
 // indicate whether stoping receiving
 private boolean stop = false;

public static void main(String[] args) {
  new QReceiver().receive();
 }

public void receive() {
  try {
   // the same as QSender
   QueueConnection conn = new ActiveMQConnectionFactory(
     "tcp://127.0.0.1:61616").createQueueConnection();
   Queue queue = new ActiveMQQueue("queue.name.sample");
   QueueSession session = conn.createQueueSession(false,
     Session.AUTO_ACKNOWLEDGE);
   QueueReceiver receiver = session.createReceiver(queue);
   // Sets the message consumer's MessageListener.
   receiver.setMessageListener(this);
   // ready to setup consumer,begin to receive message
   conn.start();
   while (!stop) {
    Thread.sleep(5);
   }
   System.out.println("exiting..");
   conn.close();
  } catch (Exception e) {
   e.printStackTrace();
   System.exit(1);
  }
 }

// called while receiving message
 @Override
 public void onMessage(Message msg) {
  try {
   String text = ((TextMessage) msg).getText();
   System.out.println(text);
   if (text.equals("stop"))
    stop = true;
  } catch (JMSException e) {
   e.printStackTrace();
   stop = true;
  }
 }
}

转载于:https://my.oschina.net/dxf/blog/405

相关文章:

中国大学生创业报告发布

由中国人民大学牵头&#xff0c;北京师范大学、上海交通大学等30余家高校、企业和社会组织联合跟踪调查的《2017年中国大学生创业报告近日发布。这份覆盖全国52所高校的报告表明&#xff0c;大学生创业意愿持续高涨&#xff0c;大学生创业层次也在不断提升&#xff0c;但大学生…

windows server 2012 application control policy

启用Application Control policy 组策略设置&#xff0c;可以实现基于用户或组的应用程序权限控制&#xff0c;有两点需要注意&#xff1a; 1、策略的顺序是从上到下执行的&#xff0c;allow的策略需要放在上面。 2、在客户端上&#xff0c;或者在远程桌面的服务器上需要启用ap…

你已经是个成熟的表格,该学会NLP了

作者 | 唐都钰、孙一博来源 | 微软亚洲研究院AI头条编者按&#xff1a;在我们的生活中&#xff0c;用语音查询天气&#xff0c;用必应搜索信息&#xff0c;这些常见的场景都离不开一种应用广泛的数据存储方式——表格&#xff08;table&#xff09;。如果让表格更智能一些&…

[Design] Flyweight Pattern

结构模式  结构模式描述如何将类或者类的对象结合在一起形成更大的结构。  结构模式描述两种不同的东西&#xff1a;类与类的实例。结构模式可以分为&#xff1a;类的结构模式和对象的结构模式两种。  类的结构模式&#xff1a;类的结构模式使用继承来把类、接口等组合在一…

网友们票选的2018 Best Paper,你pick谁?

整理 | 琥珀出品 | AI科技大本营不久前&#xff0c;Reddit 机器学习论坛上一位网友发布了一个帖子&#xff1a;“What is the best ML paper you read in 2018 and why?&#xff08;你认为 2018 年读过的最好的论文是哪篇&#xff1f;&#xff09;”吸引了各路网友前来回答。营…

微信小游戏创业,究竟是红海还是死海?

“跳一跳”、“弹球王者”、“海盗来了”、“斗地主”等等微信小游戏&#xff0c;你是不是很眼熟呢&#xff1f;这些都是前段时间被刷了屏的小游戏&#xff0c;以“海盗来了”为例&#xff0c;据透露&#xff0c;其月流水已经突破了 1000 万&#xff0c;单日流水峰值也达到了 2…

OSPF中的frame-relay(3) 点到多点非广播

hostname R1!interface Loopback0 ip address 1.1.1.1 255.255.255.255interface Serial0 ip address 192.168.1.1 255.255.255.0 encapsulation frame-relay ip ospf network point-to-multipoint non-broadcast //将接口类型指定为点对多点非广播 frame-relay map ip 192.1…

一步一步SharePoint 2007之十六:注册并配置一个网站用户

在前面的文章中&#xff0c;我已经介绍了如何创建管理帐户。创建其它帐户的方法是一样的。大家可以把这个注册系统放到自己的网站中&#xff0c;就可以成为网站的一部分了。本文将只讲解如何在管理工具中将用户手动加入到网站用户组中&#xff0c;至于如何将注册完后的用户自动…

Facebook再曝数据丑闻删除应用数据仍会被泄漏

据外媒报道&#xff0c;道德黑客、漏洞赏金猎人Inti De Ceukelaire于昨日披露&#xff0c;名为“NameTests”的第三方测验应用令1.2亿Facebook用户面临数据泄露风险&#xff0c;这进一步时使Facebook的数据丑闻升温。道德黑客Inti De Ceukelaire发现&#xff0c;只要用户注册Na…

榨菜肉丝汤的做法

<!-- /* Font Definitions */ font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} font-face {font-famil…

“不设边界”的云知声:从多场景AI芯片到视觉AI,誓要2019营收近3倍

记者| 杨丽 出品| AI科技大本营 若非要总结 2018、展望 2019 的话&#xff0c;可以借用云知声创始人兼 CEO 黄伟的一句点评&#xff1a;“所有伟大的公司都诞生于真实的生产需求。” 2019 年 1 月 2 日&#xff0c;云知声在京召开战略发布会&#xff0c;正式公布其正在研发的…

微软公布Win10正式版功能对比表,哪个版本适合你?

微软今天公布了Win10各个版本功能特性对照表&#xff0c;详细列出了Windows10系统的大多数功能以及哪些版本具备这些功能。通过这张表格可为消费者购买或升级Win10提供参考。 微软公布的原版表格为英文版&#xff08;可点此下载&#xff09;&#xff0c;IT之家将其翻译为中文&a…

linux tpm 测试完整记录,亲测有效。

没有tpm芯片&#xff0c;采用模拟器的方式来测试。 实验环境&#xff1a;内核版本 3.10.0-327 软件包准备&#xff1a; 内网&#xff0c;没有仓库&#xff0c;自己网上下载&#xff1a; 1. cmake-3.9.6-Linux-x86_64.tar.gz 解压后就已经有bin文件&#xff0c;可以直接使用bin下…

互联网流量太贵!新零售成创业新风口

什么是新零售?无人便利店、每个创业者都有自己的电商平台?运用人工智能、大数据等技术手段&#xff0c;对商品生产、流通、销售进行再升级&#xff0c;进而提高线上服务与线下体验?其实&#xff0c;说白了就是效率更高的零售新模式。联网早期的流量福利开始变弱&#xff0c;…

拼多多黄峥给陆奇“兼职”,欲挖掘这类AI人才

整理 | 一一出品 | AI科技大本营在上任 Y Combinator 中国创始人兼 CEO 四个月后&#xff0c;陆奇今日宣布三位兼职合伙人加盟 YC 中国&#xff0c;同时宣布新一期创业训练营正式完成招生工作&#xff0c;即将开始为期三个月的冬季训练营培训工作。三位兼职合伙人分别是拼多多创…

Crystal Reports中的字段

字段&#xff0c;是Crystal Reports呈现数据的基本单元&#xff0c;也是报表的数据中心。 在Crystal Reports中&#xff0c;字段的类型有数据库字段&#xff0c;公式字段&#xff0c;参数字段&#xff0c;组名字段&#xff0c;运行总计字段&#xff0c;特殊字段&#xff0c;未绑…

深度学习的发展可能已达极限!

【编者按】回首 2018 年&#xff0c;身处技术圈的你是否曾反思过些什么——科技与非科技企业界限的日益模糊、技术的发展现状和前景、科技发展的正向助推到负面效应&#xff0c;乃至个人心态上的变化。人文、生态、社会……玩技术的人看到的从来不仅仅是技术本身而已&#xff0…

大学生创业难?现在已不是问题!

现在越来越多的大学生离开学校加入了自主创业的队伍&#xff0c;那么你一定要知道政府为扶持大学生创业&#xff0c;出台的那些鼓励政策&#xff01;如果你符合以下条件&#xff1a;1、公司法人是普通高等院校&#xff08;高自考的不行&#xff09;毕业前2年的在校生和毕业后5年…

Oracle:彻底结束会话 ,彻底解锁

oracle会话被锁是经常的。但有时alter system kill session sid,serial#;并不能彻底的杀死会话。只能通过杀死Linux上对应的进程才行。以前都是通过v$session里的logon_time&#xff0c;和ps -ef|grep oracle所列出的时间大约的定位进程。然后结束。本来想把这个写成日志。但有…

使用vim打造自己的python编辑器

基础配置 vim的配置是在用户主目录下的 ~/.vimrc 文件中完成的&#xff0c;如果没有的话&#xff0c;需要自己新建一下&#xff1a; cd ~ touch .vimrc首先做些简单的配置&#xff1a; set nocompatible "关闭与vi的兼容模式 set number "显示行号 set nowrap &qu…

两亿多用户,六大业务场景,知乎AI用户模型服务性能如何优化?

作者 | 王政英来源 | 知乎技术专栏用户模型简介知乎 AI 用户模型服务于知乎两亿多用户&#xff0c;主要为首页、推荐、广告、知识服务、想法、关注页等业务场景提供数据和服务&#xff0c;例如首页个性化 Feed 的召回和排序、相关回答等用到的用户长期兴趣特征&#xff0c;问题…

加班到凌晨三点,就能月薪五万了吗?

早起上班的地铁上&#xff0c;看到朋友圈有不少人刷视觉志推出的一篇《凌晨3点不回家&#xff1a;成年人的世界是你想不到的心酸》&#xff0c;出于好奇&#xff0c;就点击看了一些。文章用一堆煽情的图片和煽情的文字推导出一个结论&#xff1a;成年人的世界很不容易&#xff…

山西之行的感想

出差学习、外出培训&#xff08;既“训”别人&#xff0c;也被别人“训”&#xff0c;呵呵&#xff09;……充实啊。关于这次出差学习&#xff0c;很想说点什么的。不过说实话&#xff0c;他们的全员人口系统目前只是完成信息编辑、查询功能&#xff0c;进一步的汇总、数据挖掘…

GIS开发随笔(2)——关于建立GIS数据库的几个问题

真正的实战开始了&#xff0c;根据用户的需求首先就是编写了一大堆的这样那样的文档说明&#xff0c;并根据用户需求分析建立了数据库的库表及其内容。在建库的过程中我们使用的是微软的Sql Server2000数据库&#xff0c;在分析数据库前也在网上游荡了些时日&#xff0c;发现很…

刘铁岩谈机器学习:随波逐流的太多,我们需要反思

嘉宾 | 刘铁岩 整理 | 阿司匹林 来源 | AI科技大本营在线公开课 人工智能正受到越来越多的关注&#xff0c;而这波人工智能浪潮背后的最大推手就是“机器学习”。机器学习从业者在当下需要掌握哪些前沿技术&#xff1f;展望未来&#xff0c;又会有哪些技术趋势值得期待&#…

SQL2K数据库开发二之查看和修改Sample数据库

1.在SQL Server 企业管理器中&#xff0c;选择“数据库”节点&#xff0c;右击sample 数据库图标&#xff0c;在弹出的菜单中选择“属性”。 2."常规"页面显示了数据库的概要信息。 3.“文件组”页面显示了数据库中现有的文件组&#xff0c;此时数据库中只有一个主文…

谈点正经的:Papi酱能火,如果你现在学她却未必能火起来

集才华美貌于一身的女子Papi酱刷屏了。先是融资1200万&#xff0c;估值3亿。其次&#xff0c;又即将在四月和罗辑思维一起联手推出“中国第一场新媒体广告拍卖会”。 这些数据和事件串在一起&#xff0c;网红经济又被推至新的高点&#xff0c;内容在资本圈也越发繁荣。是的&…

全国各地DNS地址

全国各地电信DNS服务器地址北京&#xff1a;202.96.199.133 202.96.0.133 202.106.0.20 202.106.148.1 202.97.16.195上海&#xff1a;202.96.199.132 202.96.199.133 202.96.209.5 202.96.209.133天津&#xff1a;202.99.96.68 10.10.64.68广东&#xff1a;202.96.128.143 202…

iteye和微博

如果iteye能同步新浪微博&#xff0c;我以后就用iteye来写技术博客

BIND日志相关(二)

在Linux环境下&#xff0c;提供了广泛流行的BIND服务器&#xff0c;它是构建DNS服务器最常用的服务器软件。介绍BIND的安装的文章现在很多&#xff0c;现在我们就一起来谈一下维护的话题。我们如何才能够了解DNS服务器的运行情况下呢&#xff0c;它忙不忙、负载大不大?这一切&…