Spring 实现远程访问详解——jms和activemq

前几章我们分别利用spring rmi、httpinvoker、httpclient、webservice技术实现不同服务器间的远程访问。本章我将通过spring jms和activemq实现单Web项目服务器间异步访问和多Web项目服务器间异步访问。

一.  简介

1.      什么是Apache ActiveMq

Apache ActiveMq是最流行和最强大的开源消息和集成服务器。同时Apache ActiveMq是速度快,支持多种跨语言客户端和协议,同时配有易于使用的企业集成模式和优秀的特性,并且支持JMS1.1和J2EE1.4。具体特性见官网:http://activemq.apache.org/

2.      什么是JMS

JMS的全称是Java Message Service,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消费者在接收到对应的消息后去完成对应的业务逻辑。

JMS 支持两种消息传递模型:

点对点(point-to-point,简称 PTP)

发布/订阅(publish/subscribe,简称 pub/sub)。

这两种消息传递模型非常相似,但有以下区别:

PTP 消息传递模型规定了一条消息只能传递给一个接收方。 采用javax.jms.Queue表示。Spring配置类型destination-type="queue"。

Pub/sub 消息传递模型允许一条消息传递给多个接收方。采用javax.jms.Topic表示。Spring配置类型destination-type="topic"。

二.  单服务器异步访问

3.      Spring 整合JMS和ActiveMq流程

1)      下载和部署ActiveMq服务器

2)      Spring jms和activemq相关依赖引入

3)      Spring整合activemq配置

4)      定义消息发布者(生产者)

5)      定义消息订阅者(消费者)

6)      Spring mvc配置

7)      实例测试

4.      Spring整合JMS和ActiveMq具体实现

1)      下载和部署ActiveMq服务器

下载地址:

http://activemq.apache.org/2016/03/07/apache-activemq-5132-released.html

解压下载文件,假如我保存在D盘根目录,找到目录apache-activemq-5.13.2\bin\win64下的activemq.bat,启动activemq服务。

2)      Spring jms和activemq相关依赖

<!-- xbean如<amq:connectionFactory /> -->
       <dependency>
           <groupId>org.apache.xbean</groupId>
           <artifactId>xbean-spring</artifactId>
           <version>3.16</version>
       </dependency>
       <!-- Active MQ -->
       <dependency>
           <groupId>org.apache.activemq</groupId>
           <artifactId>activemq-all</artifactId>
           <version> 5.13.1</version>
     </dependency>
<dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-jms</artifactId>
           <version> 4.2.0.RELEASE</version>
     </dependency>

3)      Application-context-jms中配置jms和activemq

注意头部信息需要引入jms和activemq


具体配置如下:

<?xml version="1.0"encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xml
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值