- 浏览: 223792 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (244)
- java (23)
- java多线程 (7)
- 综合 (1)
- oracle10g (24)
- div+css (1)
- Flex (27)
- java Nio (1)
- java设计模式 (8)
- struts2 (10)
- spring3.0 (5)
- SSH (9)
- dwr (5)
- hibernate3.6 (17)
- dom4j (1)
- sql优化 (5)
- Quartz任务调度框架 (1)
- AOP (3)
- JavaScript (18)
- jquery (3)
- JSF (9)
- ruby (1)
- 正则表达式 (1)
- 明日准备 (2)
- eclipse (3)
- gvim (1)
- CMS (1)
- linux (6)
- 杂 (4)
- java 设计模式 (1)
- MySql (10)
- JBPM (4)
- JSP技术 (1)
- Mybatis And Ibatis (2)
- 经验之谈 (10)
- WebService (1)
- java分布式(高性能,高可用,可伸缩) (0)
- springMvc (2)
- redis (0)
- ant (1)
- Nutz (6)
- 配置管理 (0)
- css+div (1)
- eChars (1)
- angularJs (1)
- D3 (3)
- Scala (1)
最新评论
-
Cobain_LI:
Cobain_LI 写道学习了,之前一直都没注意到有这样的问题 ...
js面向对象3--更简单的原型模式已经带来的问题以及解决办法 -
Cobain_LI:
Cobain_LI 写道学习了,之前一直都没注意到有这样的问题 ...
js面向对象3--更简单的原型模式已经带来的问题以及解决办法 -
Cobain_LI:
有个小失误,144和147行多了两个花括号
js面向对象2--js中工厂模式的演化(重要,详细) -
Cobain_LI:
学习了,之前一直都没注意到有这样的问题
js面向对象3--更简单的原型模式已经带来的问题以及解决办法 -
YTT1121:
有网络拓扑发现的源代码么,或者您会编写么?可以有偿求购,搞科研 ...
flex 之twaver1--简单网络拓扑实现
1.前一讲简单的介绍了一下JMS的基本概念, 这一讲结合一个例子让大家深入理解前一讲的基本概念. 首先需要做的是选择一个JMS提供者, 如果在JavaEE环境中可以不用考虑这些. 我们选择ActiveMQ, 官方地址: http://activemq.apache.org/. 网上有很多介绍ActiveMQ的文档, 所以在这里就不介绍了.
2.按照上一讲的这个简图:
ConnectionFactory---->Connection--->Session--->Message
Destination + Session------------------------------------>Producer
Destination + Session------------------------------------>MessageConsumer
A)首先需要得到ConnectionFactoy和Destination,这里创建一个一对一的Queue作为Destination。
ConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
Queue queue = new ActiveMQQueue("testQueue");
B)然后又ConnectionFactory创建一个Connection, 再启动这个Connection:
Connection connection = factory.createConnection();
connection.start();
C)接下来需要由Connection创建一个Session:
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE)
现在暂且不用管参数的含义, 以后会详细讲到.
D)下面就可以创建Message了,这里创建一个TextMessage。
Message message = session.createTextMessage("Hello JMS!");
E)要想把刚才创建的消息发送出去,需要由Session和Destination创建一个消息生产者:
MessageProducer producer = session.createProducer(queue);
F)下面就可以发送刚才创建的消息了:
producer.send(message);
G)消息发送完成之后,我们需要创建一个消息消费者来接收这个消息:
MessageConsumer comsumer = session.createConsumer(queue);
Message recvMessage = comsumer.receive();
H)消息消费者接收到这个消息之后,就可以得到它的内容:
System.out.println(((TextMessage)recvMessage).getText());
3.至此,一个简单的JMS例子就完成了。下面是全部源码 :
/**
* @author Administrator
* @desctiption 结合一个例子,深入理解JMS的基本概念
* 消息的消费者接收消息可以采用两种方式:
* 1、consumer.receive() 或 consumer.receive(int timeout);
* 2、注册一个MessageListener。
* 采用第一种方式,消息的接收者会一直等待下去,直到有消息到达,或者超时。
* 后一种方式会注册一个监听器,当有消息到达的时候,会回调它的onMessage()方法。
*/
package com.wl.jms;
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.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;
public class MessageSendAndReceive {
/**
* @param args
* @throws JMSException
*/
public static void main(String[] args) throws JMSException {
// TODO Auto-generated method stub
ConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
Connection connection = factory.createConnection();
connection.start();
//创建消息的Destination
Queue queue = new ActiveMQQueue("testQueue");
final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//创建将要发送的消息
Message message = session.createTextMessage("Hello JMS!");
//创建消息生产者发送消息
MessageProducer producer = session.createProducer(queue);
producer.send(message);
System.out.println("Send Message Completed!");
//创建消息的接收者
MessageConsumer comsumer = session.createConsumer(queue);
//消息的消费者接收消息的第一种方式:consumer.receive() 或 consumer.receive(int timeout);
//Message recvMessage = comsumer.receive();
//System.out.println(((TextMessage)recvMessage).getText());
//消息的消费者接收消息的第二种方式:注册一个MessageListener
comsumer.setMessageListener(new MessageListener(){
public void onMessage(Message msg) {
// TODO Auto-generated method stub
TextMessage textMsg=(TextMessage)msg;
try {
System.out.println(textMsg.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
});
}
}
2.按照上一讲的这个简图:
ConnectionFactory---->Connection--->Session--->Message
Destination + Session------------------------------------>Producer
Destination + Session------------------------------------>MessageConsumer
A)首先需要得到ConnectionFactoy和Destination,这里创建一个一对一的Queue作为Destination。
ConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
Queue queue = new ActiveMQQueue("testQueue");
B)然后又ConnectionFactory创建一个Connection, 再启动这个Connection:
Connection connection = factory.createConnection();
connection.start();
C)接下来需要由Connection创建一个Session:
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE)
现在暂且不用管参数的含义, 以后会详细讲到.
D)下面就可以创建Message了,这里创建一个TextMessage。
Message message = session.createTextMessage("Hello JMS!");
E)要想把刚才创建的消息发送出去,需要由Session和Destination创建一个消息生产者:
MessageProducer producer = session.createProducer(queue);
F)下面就可以发送刚才创建的消息了:
producer.send(message);
G)消息发送完成之后,我们需要创建一个消息消费者来接收这个消息:
MessageConsumer comsumer = session.createConsumer(queue);
Message recvMessage = comsumer.receive();
H)消息消费者接收到这个消息之后,就可以得到它的内容:
System.out.println(((TextMessage)recvMessage).getText());
3.至此,一个简单的JMS例子就完成了。下面是全部源码 :
/**
* @author Administrator
* @desctiption 结合一个例子,深入理解JMS的基本概念
* 消息的消费者接收消息可以采用两种方式:
* 1、consumer.receive() 或 consumer.receive(int timeout);
* 2、注册一个MessageListener。
* 采用第一种方式,消息的接收者会一直等待下去,直到有消息到达,或者超时。
* 后一种方式会注册一个监听器,当有消息到达的时候,会回调它的onMessage()方法。
*/
package com.wl.jms;
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.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;
public class MessageSendAndReceive {
/**
* @param args
* @throws JMSException
*/
public static void main(String[] args) throws JMSException {
// TODO Auto-generated method stub
ConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
Connection connection = factory.createConnection();
connection.start();
//创建消息的Destination
Queue queue = new ActiveMQQueue("testQueue");
final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//创建将要发送的消息
Message message = session.createTextMessage("Hello JMS!");
//创建消息生产者发送消息
MessageProducer producer = session.createProducer(queue);
producer.send(message);
System.out.println("Send Message Completed!");
//创建消息的接收者
MessageConsumer comsumer = session.createConsumer(queue);
//消息的消费者接收消息的第一种方式:consumer.receive() 或 consumer.receive(int timeout);
//Message recvMessage = comsumer.receive();
//System.out.println(((TextMessage)recvMessage).getText());
//消息的消费者接收消息的第二种方式:注册一个MessageListener
comsumer.setMessageListener(new MessageListener(){
public void onMessage(Message msg) {
// TODO Auto-generated method stub
TextMessage textMsg=(TextMessage)msg;
try {
System.out.println(textMsg.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
});
}
}
发表评论
-
浅谈java接口中定义属性
2015-03-11 22:55 7003package com.supan.reflact; p ... -
java 泛型
2015-01-29 14:04 5951. 概述 在引入范型之前 ... -
配置jkstatus
2015-01-24 00:21 637在已配置完成的 apache 项目中 workers.pro ... -
apache+tomcat架设图片服务器
2015-01-23 22:15 1156apache + 2个tomcat分工指定: apac ... -
apache+tomcat实现负载均衡
2015-01-23 13:03 452所需材料: 1,apache_2.0.55-win32-x86 ... -
java web高并发解决方案
2015-01-23 01:28 883java处理高并发高负载类 ... -
java 实现简单及时通讯工具
2014-12-07 16:52 732客户端接受: package com.supan; i ... -
sql 语句优化
2014-12-03 23:50 485一: 尽量挑选自己需要的字段进行查询, 不要随便使用 s ... -
21312
2014-06-30 23:53 533http://supanccy2013.iteye.com/a ... -
java之jxl输入excel文件
2014-05-02 23:37 970注:原创作品,分享以供交流,转载请注明出处。 本博文需要引入 ... -
java虚拟机工作机制
2014-05-02 23:33 930注:原创作品,分享以供交流学习,转载请注明出处。 Java虚 ... -
java算法之 递归
2014-05-01 22:41 827注:原创作品,分享以供交流学习,转载请注明出处。 递 ... -
HttpRequest.getSession(boolean boo)方法注意点
2014-05-01 01:04 2130getSession(boolean create) ... -
java 之 String的那些事儿
2014-04-17 00:05 566equals方法和==的区别 首先大家知道,String既 ... -
java 之递归便利文件夹中的文件
2014-04-16 00:34 828import java.io.File; public ... -
java 之this,super关键字
2014-04-16 00:29 454this关键字的三种用法: 第一、通过this ... -
java 之md5加密
2014-04-16 00:25 621package com.supan.md5; import ... -
java String变量判空 效率
2014-04-09 23:16 1461Java中的String为引用类型,我们经常遇到判空的情况,s ... -
java socket简单写了一个即时通讯工具(代码有待优化。)
2014-02-17 08:42 25111,服务端不断轮训创建socket链接,一旦链接成功,启动两个 ... -
StringBuffer、String、StringBuilder的区别
2014-01-23 21:54 475String,StringBuffer与StringBuild ...
相关推荐
**ActiveMQ-JMS简单实例** ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它实现了Java消息服务(Java Message Service,简称JMS)规范。JMS是一种标准接口,用于在分布式环境中传递消息,使得应用程序之间...
【ActiveMQ-JMS简单实例使用Tomcat】是一个关于如何在Tomcat环境下集成并使用ActiveMQ进行JMS消息传递的初级教程。ActiveMQ是一款开源的消息中间件,它遵循JMS(Java Message Service)1.1规范,能兼容J2EE1.4及以上...
在本文中,我们将探讨如何在Tomcat服务器上设置和使用ActiveMQ的简单实例。 **一、ActiveMQ的特点与优势** 1. **遵循JMS1.1规范**,兼容J2EE1.4及以上版本。 2. **跨平台**,可以在任何JVM和大多数Web容器中运行,...
1. **JMS简单收发** JMS的基本操作是发送和接收消息。在这些实例中,我们将看到如何使用生产者(Producer)创建消息并发送到队列(Queue)或主题(Topic)。消费者(Consumer)则从这些队列或主题中接收消息。理解...
本示例“java-jms小例子”旨在演示JMS的基本用法。JMS的核心概念包括消息生产者、消息消费者和消息队列/主题。在这个小例子中,我们将探讨如何创建这两者以及如何利用它们进行通信。 1. **消息生产者**:在JMS中,...
在"JMS示例"中,通常会展示如何创建一个简单的消息生产和消费流程: 1. **创建连接工厂(ConnectionFactory)**:这是连接到消息代理的桥梁,JMS API提供创建连接工厂的方法。 2. **创建连接(Connection)**:...
在实现JMS实例时,你可以采用编程模型或声明式模型。编程模型需要在代码中显式创建和管理JMS资源,而声明式模型通过WebLogic管理控制台或XML配置文件完成资源配置。 例如,一个简单的JMS生产者可能会创建一个消息,...
在“jmstest”这个压缩包中,我们可能找到一个简单的JMS应用实例。通常,这样的例子会包含生产者(Producer)、消费者(Consumer)以及可能的消息中间件(Message Broker)配置。生产者是发送消息的组件,而消费者则...
下面将详细介绍如何整合JMS与Spring,以及一个简单的实例。 ### 1. 添加依赖 首先,你需要在项目的构建文件(如Maven的pom.xml或Gradle的build.gradle)中添加JMS和Spring的依赖。通常,这包括JMS API、一个JMS...
本文将深入探讨一个基于WebSphere MQ的简单Java Message Service (JMS) 实例,帮助你理解如何在实际项目中实现消息的发送。 首先,我们需要了解JMS。JMS是Java平台上的一个标准接口,它定义了用于在分布式环境中...
标题“jms+activeMq+spring学习简单例子”表明这个压缩包包含了一些示例代码,用于演示如何在Spring框架中集成JMS和ActiveMQ,以便于理解和学习。通过这个例子,开发者可以了解如何在实际应用中实现基于消息的通信。...
Spring框架是一个广泛使用的Java开发框架,它提供了对JMS的全面支持,使得集成和管理消息变得更加简单。 本实例中,"JMS实例,整合spring,含jar"表明这是一个具体的项目示例,展示了如何在Spring框架中配置和使用JMS...
本篇文章将深入探讨一个简单的JMS客户端应用的实现及其关键知识点。 1. **JMS概述** JMS是Java平台的标准接口,允许开发者通过消息传递在不同的应用程序之间进行通信。它支持两种消息模型:点对点(Point-to-Point...
【JBoss 服务器下的 JMS 实例】 Java 消息服务 (JMS) 是 Java 平台中用于处理异步消息传递的标准API,它在面向服务架构 (SOA) 中扮演着关键角色,特别是在需要与外部系统进行异步通信的企业环境中。JBoss 服务器...
### ActiveMQ-JMS好用实例详解 #### 一、ActiveMQ简介及特点 **ActiveMQ** 是一个非常流行的开源消息中间件,它基于 **Java消息服务(JMS)** 规范,能够提供高度可靠的消息传递机制。ActiveMQ 以其丰富的功能集、...
本实例将带领初学者了解如何使用JMS和ActiveMQ构建一个简单的消息传递系统。首先,我们需要安装以下软件包: 1. **tokyocabinet-1.4.45.tar.gz**: 这是一个高效的键值存储库,通常用于数据缓存和日志记录。在...
在这个"spring-jms使用queue发送消息简单例子"中,我们将深入探讨如何使用Spring JMS与ActiveMQ结合,通过队列(Queue)来发送和接收消息。 首先,`pom.xml`文件是Maven项目的配置文件,它包含了项目所依赖的库。...