`
ysen
  • 浏览: 122225 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jms 初步涉及

    博客分类:
  • EJB
阅读更多

消息中间件一般有两种传递模型:点对点模型(PTP)和发布-订阅模型(Pub/Sub)。

  1. 点对点模型(PTP)

  点对点模型用于消息生产者和消息消费者之间点到点的通信。消息生产者将消息发动到由某个名字标识的特定消费者。这个名字实际上对应于消息服务中的一个队列(Queue),在消息传动给消费者之前它被存储在这个队列中。队列可以是持久的,以保证在消息服务出现故障时仍然能够传递消息。

 

 

 

 

P2P模式的测试

 

在jboss中部署下面的 消息驱动bean

 

import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;


//默认是无状态的session bean
@MessageDriven(
		activationConfig={
				@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue" ),
				@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/myqueue")
		}
)
public class QueueMessageBean implements MessageListener {
	//1.Text
	//2.Map
	//3.Object
	//4.steam
	//5.byte

	public void onMessage(Message msg) {

		TextMessage txtMsg=(TextMessage)msg;
		String s="";
		try {
			s = txtMsg.getText();
		} catch (JMSException e) {
			e.printStackTrace();
		}
		System.out.println("QueueMessageBean接收到了消息:"+s);

	}

}

 

 

 

 

 

 

客户端的测试类

 

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSession;
import javax.naming.InitialContext;
import javax.naming.NamingException;

 

public class Test {

	public static void main(String[] args) throws NamingException, JMSException {

		InitialContext context;

		context = new InitialContext();
		//获得QueueConnectionFactory
		
		QueueConnectionFactory factory =(QueueConnectionFactory)context.lookup("QueueConnectionFactory");
		//创建QueueConnection
		QueueConnection conn=factory.createQueueConnection();
		//创建会话
		//p1:与事务有关 true:表示最后提交  false:表示自动提交
		//p2:表示接收方向消息中间件发送确认通知,我们这里采用自动通知类型
		QueueSession session=conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
		//取得destination
		Queue queue=(Queue)context.lookup("queue/myqueue");
		//消息生产者
		MessageProducer sender=session.createProducer(queue);
		//定义消息
		Message msg=session.createTextMessage("消息来了");
		//发送消息
		sender.send(queue, msg);
		
		session.close();
		conn.close();


	 
	}

}

 

 

分享到:
评论

相关推荐

    JMS所需jar包

    在描述中提到的"官方最新版 JMS 5.11jar包",可能是指ActiveMQ的一个版本,因为ActiveMQ是Apache软件基金会开发的一个开源JMS实现,它支持JMS 1.1规范,并在5.x系列中提供了对JMS 2.0的初步支持。 "avitvemq"标签...

    中间件介绍,让你对中间件概念有初步的了解

    高层中间件通常涉及多个应用系统的整合,而底层中间件主要服务于特定的应用或问题。 消息中间件是本文重点讨论的内容,它通过消息队列实现进程间的非阻塞通信,提高了系统的性能和可扩展性。发送者将消息发送到消息...

    linux下weblogic集群配置初步.pdf

    在Linux环境下配置WebLogic...总之,Linux下WebLogic集群的配置涉及多方面的工作,包括网络设置、服务器实例的管理和集群的高级特性配置。理解这些概念和技术细节对于成功部署和管理高可用性的Web应用程序至关重要。

    linux下weblogic集群配置初步汇编.pdf

    此外,集群还支持Servlet和JSP的负载均衡,以及更高级别的J2EE组件如EJB、JDBC和JMS的集群化。 配置过程中需要注意几个关键点: 1. Linux环境:所有WebLogic服务器都部署在Linux操作系统上。 2. IP组播和UDP:管理...

    linux下weblogic集群配置初步参照.pdf

    此外,本文的配置仅展示了Web层(Servlet和JSP)的负载平衡和容错,但WebLogic支持对其他J2EE组件,如EJB、JDBC和JMS等进行集群化,以实现更全面的服务高可用性。 配置WebLogic集群的基本步骤包括: 1. **建立管理...

    linux下weblogic集群配置初步定义.pdf

    在Linux环境下配置WebLogic集群是一项关键的任务,它涉及到多个组件的协调工作,以实现高可用性和负载均衡。WebLogic域是管理和监控WebLogic Server实例的核心结构。在这个环境中,管理服务器作为中心控制点,负责...

    ActiveMQDemo:这是关于消息中间件ActiveMQ的WEB项目,将覆盖JMS,ActiveMQ的初始入门和API详细使用,两种经典的消息模式(PTP和PubSub),与Spring集成,ActiveMQ进行监控,监控与配置优化等。不多说,直接撸原始码!

    在ActiveMQ的初步学习阶段,你需要了解如何安装和配置ActiveMQ服务器,以及创建基本的生产者和消费者示例。这通常包括设置服务器环境,编写Java代码来创建连接工厂,发送和接收消息。 **API详细使用** ActiveMQ...

    ActiveMQ基础入门

    安装ActiveMQ通常涉及下载二进制包,解压后启动服务器。默认配置文件`activemq.xml`位于`conf`目录下,可以根据需要进行定制,如设置端口、内存大小等。 4. **ActiveMQ的核心概念** - **Broker**: 消息中间件,...

    apache activeMQ之初体验(helloworld)

    ActiveMQ的"Hello World"程序主要涉及以下几个关键知识点: 1. **消息模型**:ActiveMQ支持两种主要的消息传递模式——点对点(P2P)和发布/订阅(Pub/Sub)。在点对点模式中,一个生产者发送消息给一个消费者,每...

    传感器有关大作业项目

    它包含了一系列的API和服务,如Servlet、JSP、EJB、JMS、JPA等,用于构建分布式、多层架构的应用程序。 2. **Servlet**:Servlet是JavaEE中的核心组件,负责处理HTTP请求并生成响应。在这个项目中,Servlet可能被...

    WAS 6.1 快速入门

    部署过程通常涉及打包应用为EAR(Enterprise Archive)文件,然后通过管理控制台或者命令行工具将其上传到服务器。 四、J2EE 1.4 支持 WAS 6.1遵循J2EE 1.4规范,提供了EJB 2.1、Servlet 2.4和JSP 1.2的支持。这...

    j2ee开发完整代码

    J2EE应用通常需要与数据库进行交互来存储和检索数据,这涉及到SQL(Structured Query Language)知识,以及如何使用JDBC(Java Database Connectivity)API来连接和操作数据库。数据库的设计应当遵循ER(Entity-...

    JBoss3.0快速入门指导

    集群配置涉及 JNDI 的跨服务器共享、故障转移和负载均衡策略。 - **集群特性**:了解 JBoss 集群能够提供的服务,如高可用性和可扩展性。 - **集群 JNDI**:掌握如何在集群环境中配置 JNDI 条目,使它们在所有节点...

    activemq学习(1)

    标题“activemq学习(1)”提示我们即将探讨的是Apache ActiveMQ,一个开源的消息中间件,它在Java消息服务(JMS)规范下运行。在这个初步的学习阶段,我们将主要了解ActiveMQ的基本概念、功能以及如何开始使用它。 ...

    基于J2EE的B2C电子商务系统开发(设计说明书+源码).zip

    - **J2EE架构**:包括EJB(Enterprise JavaBeans)、JSP/Servlet、JMS(Java Message Service)、JDBC(Java Database Connectivity)等组件,用于构建分布式、多层的企业级应用。 - **B2C系统组件**:用户管理、...

    spring3.x项目开发

    - `chapter2`:这部分可能涵盖了Spring的基础知识,包括环境配置、Spring IoC容器的使用、Bean的定义与实例化,以及DI的初步实践。可能还会讲解到Spring的XML配置和基于注解的配置方式。 - `chapter3`:在这一章,...

    基于j2ee的供求信息系统

    【描述】提到的"适于与初步接触java的人学习借鉴用"意味着这个项目是一个理想的入门实例,对于初学者来说,可以通过研究和实践这个项目来学习Java编程语言,尤其是Java在开发Web应用程序方面的应用。J2EE平台提供了...

    《JHTP4_DiveIntoSunONE_AlphaDraft》 pdf电子书

    这本书是Alpha草案版本,意味着它可能包含了初步的内容和未完成的章节,旨在提供早期的参考和学习资料。Sun ONE是由Sun Microsystems公司开发的一系列互联网基础架构产品和服务,它涵盖了服务器、应用服务器、目录...

    JavaEE基础实用教程(第2版源代码)郑阿奇,1-3章

    因此,本教程可能还涉及了JPA(Java Persistence API),这是一个ORM(对象关系映射)规范,简化了数据库操作,使得Java对象可以直接与数据库记录进行映射。 6. **JavaEE中的其他技术** 虽然仅列出了前三个章节的...

Global site tag (gtag.js) - Google Analytics