创建一个web工程

导入ActiveMQ依赖的jar包  activemq-all-5.9.jar

写一个生产者(send)servlet

package com.sun.jms;
import java.io.IOException;
import java.io.PrintWriter;

import javax.jms.DeliveryMode;
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 javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class JMSTest
*/
@WebServlet("/Send")
public class Send extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public Send() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();

try {
// get the initial context
InitialContext context = new InitialContext();

// lookup the queue object
Queue queue = (Queue) context.lookup("java:comp/env/queue/queue0");

// lookup the queue connection factory
QueueConnectionFactory conFactory = (QueueConnectionFactory) context
.lookup("java:comp/env/queue/connectionFactory");

// create a queue connection
QueueConnection queConn = conFactory.createQueueConnection();

// create a queue session
QueueSession queSession = queConn.createQueueSession(false,
Session.DUPS_OK_ACKNOWLEDGE);

// create a queue sender
QueueSender queSender = queSession.createSender(queue);
queSender.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

// create a simple message to say "Hello World"
TextMessage message = queSession.createTextMessage("Hello World");

// send the message
queSender.send(message);

// print what we did
out.write("Message Sent: " + message.getText());

// close the queue connection
queConn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}

}

======================================================

写一个消费者(Receive)servlet

package com.sun.jms;

import java.io.IOException;
import java.io.PrintWriter;

import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueReceiver;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;

/**
* Servlet implementation class Receive
*/
@WebServlet("/Receive")
public class Receive extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public Receive() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();

try {
// get the initial context
InitialContext context = new InitialContext();

// lookup the queue object
Queue queue = (Queue) context.lookup("java:comp/env/queue/queue0");

// lookup the queue connection factory
QueueConnectionFactory conFactory = (QueueConnectionFactory) context
.lookup("java:comp/env/queue/connectionFactory");

// create a queue connection
QueueConnection queConn = conFactory.createQueueConnection();

// create a queue session
QueueSession queSession = queConn.createQueueSession(false,
Session.AUTO_ACKNOWLEDGE);

// create a queue receiver
QueueReceiver queReceiver = queSession.createReceiver(queue);

// start the connection
queConn.start();

// receive a message
TextMessage message = (TextMessage) queReceiver.receive();

// print the message
out.write("Message Received: " + message.getText());

// close the queue connection
queConn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}

}

=====================================================

配置tomcat的tomcat\conf\context.xml

<Resource name="queue/connectionFactory"
auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory"
description="JMS Connection Factory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="tcp://localhost:61616"
brokerName="LocalActiveMQBroker" />

<Resource name="queue/queue0"
auth="Container"
type="org.apache.activemq.command.ActiveMQQueue"
description="My Queue"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
physicalName="TomcatQueue" />

=======================================================

启动ActiveMQ 进入http://localhost:8161/admin/queues.jsp

默认用户名和密码是admin

运行后效果:

转载于:https://www.cnblogs.com/austinspark-jessylu/p/6285839.html

JMS ActiveMQ案例相关推荐

  1. java spring boot jms_spring boot整合JMS(ActiveMQ实现)

    一.安装ActiveMQ 具体的安装步骤,请参考我的另一篇博文: 二.新建spring boot工程,并加入JMS(ActiveMQ)依赖 三.工程结构 pom依赖如下: xsi:schemaLoca ...

  2. goldengate java_配置Goldengate向JMS(ActiveMQ)发布消息

    配置Goldengate向JMS(ActiveMQ)发布消息 通过Goldengate的Application Adpater可以方便的向JMS队列发送消息,其他应用程序通过订阅JMS消息 来对数据作 ...

  3. JMS ActiveMQ

    1  JMS消息中间件 2.1 消息中间件介绍 什么是中间件? redis缓存服务器就是一个中间件.独立于系统之外的一个服务器 JMS即Java消息服务(Java Message Service)应用 ...

  4. JMS ActiveMQ研究文档

    1. 背景 当前,CORBA.DCOM.RMI等RPC中间件技术已广泛应用于各个领域.但是面对规模和复杂度都越来越高的分布式系统,这些技术也显示出其局限性:(1)同步通信:客户发出调用后,必须等待服务 ...

  5. activeMQ基础学习和SpringBoot整合activeMQ案例

    昨天仔细研究了activeMQ消息队列,也遇到了些坑,昨天晚上也写了篇文章记录坑的内容,其实上篇文章(SpringBoot整合activeMQ消息队列手动签收(Session.CLIENT_ACKNO ...

  6. JMS ActiveMQ 简介

    一.JMS简介 全称:Java Message Service 中文:Java消息服务 JMS是Java的一套API标准,最初的目的是为了使应用程序能够访问现有的MOM系统(MOM是Message O ...

  7. 深入浅出JMS(四)--Spring和ActiveMQ整合的完整实例

    转载:http://blog.csdn.net/jiuqiyuliang/article/details/48758203 第一篇博文深入浅出JMS(一)–JMS基本概念,我们介绍了JMS的两种消息模 ...

  8. JMS学习(4):--Spring和ActiveMQ整合的完整实例

    前言 这篇博文,我们基于spring+JMS+ActiveMQ+Tomcat,做一个Spring4.1.0和ActiveMQ5.11.1整合实例,实现了Point-To-Point的异步队列消息和PU ...

  9. jms activemq_带有ActiveMQ的JMS

    jms activemq 带有ActiveMQ的JMS JMS是Java消息服务的缩写,它提供了一种以松散耦合,灵活的方式集成应用程序的机制. JMS以存储和转发的方式跨应用程序异步传递数据. 应用程 ...

最新文章

  1. 查看tcp各个连接状态的数量
  2. 清除应用数据后,应用对应的widget的数据无法刷新
  3. WPF 使用DMSkin for WPF 快速搭建漂亮的WPF程序
  4. 使用蚂蚁借呗会影响房贷申请吗?
  5. java中使用kotlin_在Kotlin中使用libGDX
  6. java第一 ++--
  7. 精通Android自定义View(二十)自定义仿微信扫一扫效果
  8. 下载Bootstrap3
  9. 大数据学习笔记05:ZooKeeper集群
  10. SSH小区停车管理系统答辩PPT免费下载
  11. 三维点云学习(2)五种算法比较
  12. solr5.5.3+tomcat8部署
  13. 常用电子元件识别图解大全
  14. Java中tostring重写_使用ToStringBuilder重写toString方法
  15. tkinter教程_Tkinter教程–第2部分
  16. linux 命令赋权,linux赋权命令
  17. 【2018滴滴】寻找丑数
  18. 各类邮箱POP3和SMTP服务器地址和端口
  19. CodeForces 950C Zebras
  20. 装甲逆袭-获取坦克界面

热门文章

  1. 容器技术的落地还要依靠SDN
  2. 一个包的TcpServer流程
  3. XP系统下建立WIFI热点让手机、电脑能上网
  4. Arcgis for Javascript实现两个地图的联动
  5. System.Configuration.ConfigurationSettings.GetConfig(string)”已过时 问题的解决方法
  6. 人类资产数字化是大势所趋
  7. 报表学习总结(一)——ASP.NET 水晶报表(Crystal Reports)的简单使用
  8. 前端工程化系列[03]-Grunt构建工具的运转机制
  9. 从零开始的异世界生活
  10. 数据结构与算法JavaScript (一) 栈