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

jms介绍

    博客分类:
  • JMS
阅读更多
一:jms介绍

1.jms(java message service java消息服务),是J2EE规范的一部分,跟jdbc差不

多,sun只提供了接口,由各个厂商(provider)来进行具体的实现,然后使用者使用他们

的jar包进行开发使用即可。

2.另外在jms的API中,jms传递消息有两种方式,一种是点对点的Queue,还有一个是发布

订阅的Topic方式。区别在于:

3.对于Queue模式,一个发布者发布消息,下面的接收者按队列顺序接收,比如发布了10个

消息,有两个接收者A,B,那就是A,B总共会收到10条消息,不重复。

4.对于Topic模式,一个发布者发布消息,有两个接收者A,B来订阅,那么发布了10条消息,

A,B各收到10条消息。


二:ActiveMQ介绍

1.activeMQ是apache下的一个开源jms产品。


三:开始实现代码

1.使用activeMQ来完成jms的发送,必须要下载activeMQ,然后再本机安装,并且启动

activeMQ的服务才行。在官网下载完成之后,运行bin目录下面的activemq.bat,将

activeMQ成功启动。
      
2.启动成功之后可以运行:http:// localhost:8161/admin/index.jsp 查看一下。

3.spring-jms.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:context="http://www.springframework.org/schema/context"
 xmlns:jms="http://www.springframework.org/schema/jms"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
            http:// www.springframework.org/schema/beans/spring-beans-2.5.xsd
            http:// www.springframework.org/schema/context
            http:// www.springframework.org/schema/context/spring-context-2.5.xsd
            http:// www.springframework.org/schema/jms
					// http://www.springframework.org/schema/jms/spring-jms-2.5.xsd">
 <bean id="jndiTemplate"
  class="org.springframework.jndi.JndiTemplate">
  <property name="environment">
   <props>
    <prop key="java.naming.factory.initial">
     org.apache.activemq.jndi.ActiveMQInitialContextFactory
    </prop>
    <prop key="brokerURL">tcp:// localhost:61616</prop>
    <prop key="queue.myqueue">myqueue</prop>
    <prop key="connectionFactoryNames">
     ConnectionFactory
    </prop>
   </props>
  </property>
 </bean>

 <bean id="connectionFactory"
  class="org.springframework.jndi.JndiObjectFactoryBean">
  <property name="jndiName" value="ConnectionFactory" />
  <property name="jndiTemplate" ref="jndiTemplate" />
 </bean>

 <bean id="jmsTemplate"
  class="org.springframework.jms.core.JmsTemplate">
  <property name="connectionFactory" ref="connectionFactory" />
  <property name="defaultDestinationName" value="myqueue" />
  <property name="pubSubDomain" value="false" />
 </bean>

 <bean id="producer" class="com.mypack.SpringJmsProducer">
  <property name="jmsTemplate" ref="jmsTemplate" />
 </bean>

 <bean id="consumer" class="com.mypack.SpringJmsConsumer">
  <property name="jmsTemplate" ref="jmsTemplate" />
 </bean>


</beans>



package com.mypack;

import org.springframework.jms.core.JmsTemplate;

public class SpringJmsConsumer {

 private JmsTemplate jmsTemplate;

 public JmsTemplate getJmsTemplate() {

  return jmsTemplate;

 }

 public void setJmsTemplate(JmsTemplate jmsTemplate) {

  this.jmsTemplate = jmsTemplate;

 }

 public String receive() {

  return (String) jmsTemplate.receiveAndConvert();

 }

}



package com.mypack;

import org.springframework.jms.core.JmsTemplate;

public class SpringJmsProducer {

    private JmsTemplate jmsTemplate;

    public void send(String message) {

        jmsTemplate.convertAndSend(message);

    }

    public JmsTemplate getJmsTemplate() {

        return jmsTemplate;

    }

    public void setJmsTemplate(JmsTemplate jmsTemplate) {

        this.jmsTemplate = jmsTemplate;

    }

}








 package com.mypack;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringJmsConsumerMain {

 public static void main(String[] args) {

  BeanFactory factory = new ClassPathXmlApplicationContext(
    "spring-jms.xml");

  SpringJmsConsumer consumer = null;

  consumer = (SpringJmsConsumer) factory.getBean("consumer");

  System.out.println("message = " + consumer.receive());

 }

}







 package com.mypack;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringJmsProducerMain {

 public static void main(String[] args) {

  BeanFactory factory = new ClassPathXmlApplicationContext(
    "spring-jms.xml");

  SpringJmsProducer producer = null;

  producer = (SpringJmsProducer) factory.getBean("producer");

  producer.send("hello world,jms");

 }

}
分享到:
评论

相关推荐

    JMS 介绍及其在 EJB 2.0 中的用法

    **JMS介绍** Java消息服务(Java Message Service,简称JMS)是一种标准API,用于在分布式环境中进行消息传递。它的主要目标是提供一种与供应商无关的方式,让Java应用程序能够发送和接收消息。JMS允许应用之间通过...

    深入浅出JMS-JMS介绍说明文档

    本文旨在详细介绍JMS的核心概念、消息模型及编程模型,帮助读者深入理解JMS的工作原理及其应用场景。 #### 二、JMS基本概念 JMS是一种用于实现分布式系统中消息通信的标准或规范。其核心功能在于降低系统间的耦合...

    JMS Introduction

    ### JMS介绍与核心知识点详解 #### 一、引言 在现代企业级应用开发中,消息传递系统作为实现分布式应用程序的重要组成部分,扮演着至关重要的角色。Java消息服务(Java Message Service, JMS)作为Java平台上的...

    JMS中间件ActiveMQ介绍

    ### JMS中间件ActiveMQ介绍 #### JMS (Java Message Service) 概述 Java Message Service(JMS)是Sun Microsystems提出的一种规范,用于统一不同的消息传递中间件(Message-Oriented Middleware, MOM)系统的接口...

    wildfly-jms-example-源码.rar

    1. **JMS介绍**:JMS允许应用程序创建、发送、接收和阅读消息。它提供了一种可靠且可扩展的方式来解耦应用程序,使得它们可以通过消息进行通信,而无需直接交互。 2. **Message Broker**:在WildFly中,JMS服务由...

    消息中间件与JMS.pdf

    #### 四、JMS介绍 **4.1 JMS简介** JMS是Java平台上的消息中间件API,它为应用程序提供了一种标准化的方式来创建、发送、接收和读取消息。 **4.2 JMS的核心概念** - **生产者/消费者模型**:生产者创建消息并将其...

    JMS与MDB介绍

    产者在JMS中是指那些发送消息的客户端。它们通过Session接口创建MessageProducer对象来发送消息到指定的Destination,即消息队列(Queue)或主题(Topic)。MessageProducer可以设置各种属性,如发送消息的延迟、...

    was6培训资料:L08-WASv6_Service Integration and JMS.pdf

    **一、WebSphere Application Server (WAS) v6 的服务集成与JMS介绍** - **背景概述** - 本培训资料旨在帮助用户熟悉IBM WebSphere Application Server Version 6(WAS v6)在服务集成、Java消息服务(JMS)以及消息...

    JMS578 windows烧录工具,JMS578FwUpdate,固件,相关文档

    JMS578介绍手册JMS578_Product+Brief.pdf JMS578固件(支持Android系统/linux系统) JMS578 windows的烧录工具和JMS578FwUpdate JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin Android/linux使用方式参考...

    OSB中JMS配置及队列使用说明

    OSB 中的 JMS 配置及队列使用是实现消息队列的重要手段,本文将详细介绍 OSB 中 JMS 配置及队列使用的步骤。 环境准备 在开始配置 JMS 之前,需要安装 Oracle Service Bus (OSB) 10.3.1 和 Weblogic 服务器。同时...

    JMS

    这表明讨论可能涉及到JMS的底层实现细节,比如通过查看源码理解JMS的工作机制,或者是介绍一些实用的工具来辅助JMS的开发和调试,例如消息监视工具、性能测试工具等。源码分析可以帮助开发者更深入地理解JMS如何处理...

    maximo的JMS配置

    本文将详细介绍如何在 Maximo 中配置 JMS,以便实现高效的系统间通信。 #### 二、配置前准备 在开始配置 JMS 之前,确保具备以下条件: 1. **熟悉 Oracle WebLogic Server 管理控制台**:配置 JMS 时需要用到 ...

    JMS开发介绍1111111

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。它允许应用程序创建、发送、接收和阅读消息,有效地支持分布式系统的解耦和可靠性传输。JMS在Java应用程序之间提供...

    weblogic中使用JMS发送和接受消息

    本文将详细介绍如何在WebLogic中使用JMS来创建Queue(队列)和TOPIC(主题)并进行消息的发送与接收。 ### 一、JMS基本概念 1. **Queue(队列)**:队列是一种点对点的消息传递模型,其中每个消息只会被一个消费者...

    USB转SATA硬盘盒JMS583量产工具

    1. "JMS578_FW_Update step(固件更新步骤).pdf" - 这是一个PDF文档,详细介绍了如何使用JMS583量产工具来更新设备的固件。固件是存储在硬件上的软件,控制着设备的操作,更新固件可以修复问题,提高性能,或者添加...

    JMS 使用 ActiveMQ 传送文件

    尽管描述中并未给出具体信息,但我们可以推断这篇博文可能详细介绍了如何使用JMS与ActiveMQ结合来实现文件传输。博主可能讨论了如何配置ActiveMQ服务器,以及如何通过JMS API创建消息,将文件内容封装到消息中,然后...

    jms

    由于标签包含了“源码”和“工具”,这篇博文可能深入解析了JMS的实现细节,或者介绍了与JMS相关的开发工具,如消息代理(message broker)如Apache ActiveMQ、RabbitMQ等,或者是用于测试和调试JMS的工具。...

Global site tag (gtag.js) - Google Analytics